首页 > 解决方案 > 当通过双重引用传递给集合函数时,如何访问 C 中不透明数据结构的成员?

问题描述

我是 C 新手,我正在使用通过双重引用传递的不透明数据结构。我已将 cars.h 中的结构原型声明为typedef struct car car. 然后在 cars.c 中我继续定义具有以下成员的结构:

struct car{char model;
           int year; };

我有一个设置汽车年份的功能:

void set_year(car **my_car , int year){
      *my_car->year = 1998;  
}

set_year但是,我看不到结构的成员,尽管car它们都在 car.c 中定义。如何正确访问这些成员?

*编辑

这是我的问题的解决方案:

void set_year(car **my_car , int year){
      (*my_car)->year = 1998;  
}

标签: copaque-pointers

解决方案


推荐阅读