我正在尝试从C中的结构定义链表类型。我很容易将其作为结构来执行,但结构似乎不适用于sizeof()方法,这对我的目的来说是不方便的;虽然我可以手动计算出我的链表结构的大小,但我宁愿避免出现“神奇数字”的情况。
话虽如此,我不知道如何让它正常工作。理想情况下可以使用的代码是:
typedef struct {
int data;
linked_list* next;
} linked_list;
但是,由于在需要声明linked_list *变量时,linked_list仍然未声明,这不起作用。
那么,解决这个问题的实际方法是什么?我想象我必须提前声明link_list类型,但谷歌搜索“c类型声明”并没有真正让我在任何地方。我对C ++的极其有限和粗略的经验告诉我,头文件可能在这种情况下很有用,但我不确定如何。