递归的结构定义类型如何在C中起作用?

时间:2017-12-09 03:03:34

标签: c struct typedef declaration

我正在尝试从C中的结构定义链表类型。我很容易将其作为结构来执行,但结构似乎不适用于sizeof()方法,这对我的目的来说是不方便的;虽然我可以手动计算出我的链表结构的大小,但我宁愿避免出现“神奇数字”的情况。

话虽如此,我不知道如何让它正常工作。理想情况下可以使用的代码是:

typedef struct { 
   int data;
   linked_list* next;
} linked_list;

但是,由于在需要声明linked_list *变量时,linked_list仍然未声明,这不起作用。

那么,解决这个问题的实际方法是什么?我想象我必须提前声明link_list类型,但谷歌搜索“c类型声明”并没有真正让我在任何地方。我对C ++的极其有限和粗略的经验告诉我,头文件可能在这种情况下很有用,但我不确定如何。

0 个答案:

没有答案