gpt4 book ai didi

c - C 中结构体指针的问题

转载 作者:行者123 更新时间:2023-11-30 19:03:51 25 4
gpt4 key购买 nike

我有典型的结构(ECU_t),其中的成员被认为是指向结构的指针。现在我想做ECU_DoTask()。请帮助我

typedef enum
{
NORMAL,
WARNING,
}WATER_TEMP;

typedef struct
{
WATER_TEMP water_temp;
uint16_t speed;
// ... other members
}Engine_t;

typedef struct
{
Engine_t* engine;
ABS_t* abs;
// ... other members
}ECU_t;

void ECU_DoTask(ECU_t* output)
{
output->(engine->water_temp) = NORMAL;
// ??? it seems to be illegal command.
// how can i access to water_temp
}

最佳答案

engine是output的成员,water_temp是engine的成员。

所以你可以这样做:

(output->engine)->water_temp = NORMAL

或者

output->engine->water_temp = NORMAL   

as -> 是左优先运算符。

关于c - C 中结构体指针的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53361035/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com