我目前正在阅读一些数据包发送的源代码。对于下面的伪代码,对于“packet->packet2 = (char*) data”这一行,它实际上意味着什么?我可以理解为将变量数据中的字符数据类型存储到packet2中,它也被定义为字符数据类型吗?
struct Node1
{
char packet1;
int num1;
}
struct Node2
{
char *packet2;
int num2;
}
int main(void)
{
struct Node1 *data;
struct Node1 var1;
struct Node2 *packet;
struct node2 var2;
data = &var1;
packet = &var2;
packet->packet2 = (char*) data;
}
最佳答案
struct Node1
{
Node2*/or Node1*.... packet1;
int num1;
}
struct Node2
{
Node1* packet2;
int num2;
}
int main(void)
{
struct Node1 *data;
struct Node1 var1;
struct Node2 *packet;
struct Node2 var2;
data = &var1;
packet = &var2;
packet->packet2 = data;
}
关于C 指向另一个结构体的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47259573/