今天在看链表的时候看到一处,说结构体不能嵌套(自己),只能通过指针的方式。开始不太明白,后来仔细琢磨一下确实是有道理的。假如定义了一个结构体:struct test {int a, float b ,test c}; 在这种定义下 c 结构体变量实际是不法定义的。定义一个变量实际上是要在内存分配一个空间,这样定义无法分配一个合适的空间大小。假如改为:struct test {int a, float b ,test *c}; c变量是一个指针,那么就可以得到一个确切长度的空间分配。由此在链表中我们通常都是定一个指向结构体自身指针变量。
文章评论(0条评论)
登录后参与讨论