C语言中一个结构不能包含指向自己的指针
我似乎不能成功定义一个链表。我试过typedef struct { char*item; NODEPTR next; } *NODEPTR; 但是编译器报了错误信息。难道在C语言中一个结构不能包含指向自己的指针吗?
C 语言中的`结构当然可以包含指向自己的指针; [K&R2, 第6.5 节] 的讨论和例子表明了这点。NODEPTR 例子的问题是在声明next 域的时候typedef 还没有定义。
为了解决这个问题, 首先赋予这个结构一个标签(“struct node”)。然后,声明“next” 域为“struct node *”, 或者分开typedef 定义和结构定义, 或者两者都采纳。以下是一个修改后的版本:
struct node {
char *item;
struct node *next;
};
typedef struct node *NODEPTR;
至少还有三种同样正确的方法解决这个问题。在用typedef 定义互相引用的两个结构时也会产生类似的问题, 可以用同样的方法解决。
-
管理学2016考研模拟测试题(附答案)
一、判断改错(请对下列各问题进行判断,如果你认为该题是错误的,请在该题后的括号内打上Ⅹ;如果你认为该题是正确的,请在该题后的括号内打上√,并将正确的表述写在该题之下。每小题5分,共50分)1、乔安娜•马丁指出,一个组织内只能有单一文化。()2、一般来说,...
-
大连理工大学2015年考研复试线3月中下旬公布
据大连理工大学研究生招生网官方消息,复试分数线、复试基本要求和复试名单拟于3月中下旬公布,详情如下:1、关于成绩查询界面显示的专业排名的相关说明。答:各位考生在成绩查询界面看到的专业排名仅为考生初试总分在所报考专业中的排序,报考专业中所有推免生排在排名...
-
2016考研时间无法充值:8个问题要及时解决
考研成绩要想好,行为习惯少不了。观察这几年的考研成绩,我们会发现,一个考研成绩好的学生,他/她为考研所采取的行为和习惯是最终让他/她取得好成绩的重要因素。印度谚语说:播种一种行为,收获一种习惯;播种一种习惯,收获一种性格;播种一种性格,收获一种命运。既然选...
-
2017考研英语翻译:常见丢分原因分析
随着2017考研的接近,考生们也在积极复习了。下面是小编为大家整理收集的2017考研英语翻译:常见丢分原因分析,仅供大家参考。1.长难句结构划分不清晰划分英语长难句结构,是理解英语句子含义的基础。许多同学反映,一看到长句就恐慌;再加上几个不认识的单词,根本无从下...