Hacker_DL 2022-03-23 23:23 采纳率: 16.7%
浏览 27
已结题

学习结构体时的课后例题之嵌套问题

最近遇到这个问题:下面的结构体类型的声明是否合法?在声明一个结构体类型的时候,其内部可不可以嵌套这个结构体自身呢?即可不可以用与自身结构体类型相同的结构体作为其成员呢?请说明原因。

struct  sample
{
  int data;
  struct sample next;
};
  • 写回答

1条回答 默认 最新

  • π.... 2022-03-24 11:18
    关注

            这种声明是错误的,因为这种声明实际上是一个无限循环,成员next是一个结构体,next的内部还会有成员是结构体,依次下去,无线循环。在分配内存的时候,由于无限嵌套,也无法确定这个结构体的长度,所以这种方式是非法的。

    正确的方式: (使用指针)

    struct sample{
    struct sample *next;
    int date;
    };

    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 1月12日
  • 创建了问题 3月23日

悬赏问题

  • ¥15 rt-thread线程切换的问题
  • ¥20 python忆阻器数字识别
  • ¥15 无法输出helloworld
  • ¥15 高通uboot 打印ubi init err 22
  • ¥20 PDF元数据中的XMP媒体管理属性
  • ¥15 R语言中lasso回归报错
  • ¥15 网站突然不能访问了,上午还好好的
  • ¥15 有没有dl可以帮弄”我去图书馆”秒选道具和积分
  • ¥15 semrush,SEO,内嵌网站,api
  • ¥15 Stata:为什么reghdfe后的因变量没有被发现识别啊