头文件中有两个typedef struct
。
typedef struct {
int fallLevel;
unsigned long lastStepTime;
} PlayerFallStruct;
typedef struct {
int id;
char* name;
int x;
int y;
PlayerFallStruct playerFall;
} Client;
我不知道如何访问
PlayerFallStruct playerFall
。如果我用((PlayerFallStruct*)packetClient->playerFall)->fallLevel=0;
编译器抛出错误:
Client.c:46:4:错误:无法转换为指针类型
((PlayerFallStruct*)packetClient->playerFall)->fallLevel=0;
为什么?哪里有问题?如何访问我的
stuct
? 最佳答案
很简单!!!!记住访问结构的规则
'.' for static object of structure
'->' for pointer type obj of structure.
所以,让我们以你的案例为例。
结构客户端*数据包客户端;
所以,在您的情况下使用“->”。你已经创建了playerFallStruct的静态对象。因此,'.'运算符用于访问PlayerFallStruct中的成员。
packet_client->PlayerFall.fallLevel = 0
希望有帮助:):)快乐的编码:):)