C 指向另一个结构体的指针

标签 c pointers struct embedded

我目前正在阅读一些数据包发送的源代码。对于下面的伪代码,对于“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/

相关文章:

c - Sparc V8比较和交换函数的内联汇编实现

c++ - 为什么结构体的 sizeof 不等于每个成员的 sizeof 之和?

Swift 3 - 集合中的结构

c++ - 具有 vector 成员的全局结构

C Socket 程序未打印所需的输出(无错误)

C#访问简单的C dll

c语法: array

c++ - 克隆指针 C++

c - 当我将文件传递到链接列表时,如何读取文件并确定其数据表示形式?

c - C 中的文件、访问指针、读取和写入文件