访问结构中的数据

Bil*_*lla 1 c struct pointers

我想访问结构中的信息,如果有人可以帮助我在这里.

typedef struct {        
    int time;       
    char sat,rcv;  
    char LLI [3];
} obsd_t;


typedef struct {                
    obsd_t *data;      
} obs_t;
Run Code Online (Sandbox Code Playgroud)

我有类似的东西

obs_t obs;
int x;
Run Code Online (Sandbox Code Playgroud)

现在我想将x分配给obsd_t中的时间值,那么我应该怎么做.这是正确的

x=obs.data.time;
Run Code Online (Sandbox Code Playgroud)

ps我查看了stackoverflow的其他线程,但从那里无法理解.有些人没有接受任何答案,所以我很不情愿

Don*_*ild 6

您正在将指针与变量混合.使用.运算符作为结构变量(例如obs)并->用于指针(例如用于数据)

x = obs.data->time

或者你也可以像俞昊建议的那样使用

x = obs.(*data).time