C语言中一个结构不能包含指向自己的指针吗


Posted in 面试题 onMay 25, 2012
我似乎不能成功定义一个链表。我试过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 定义互相引用的两个结构时也会产生类似的问题, 可以用同样的方法解决。

Tags in this post...

面试题 相关文章推荐
Eclipse面试题
Mar 22 面试题
JRE、JDK、JVM之间的关系怎样
May 16 面试题
"火柴棍式"程序员面试题
Mar 16 面试题
为什么要有struct关键字
May 08 面试题
经典c++面试题三
Jul 08 面试题
杭州时比特电子有限公司SQL
Aug 22 面试题
如何查找和删除数据库中的重复数据
Nov 05 面试题
哪些情况下不应该使用索引
Jul 20 面试题
商得四方公司面试题(gid+)
Apr 30 面试题
Linux内核的同步机制是什么?主要有哪几种内核锁
Jul 11 面试题
新媒传信软件测试面试题
Feb 24 面试题
JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗?
Jul 02 面试题
C/C++有关内存的思考题
Dec 04 #面试题
C语言基础笔试题
Apr 27 #面试题
南京迈特望C/C++面试题
Jul 09 #面试题
C语言怎样定义和声明全局变量和函数最好
Nov 26 #面试题
C,C++的几个面试题小集
Jul 13 #面试题
Java工程师面试集锦之Spring框架
Jun 16 #面试题
2019年Java 最常见的 面试题
Oct 19 #面试题
You might like
php使用数组填充下拉列表框的方法
2015/03/31 PHP
php常用字符串String函数实例总结【转换,替换,计算,截取,加密】
2016/12/07 PHP
yii2.0整合阿里云oss删除单个文件的方法
2017/09/19 PHP
PHP实时统计中文字数和区别
2019/02/28 PHP
对laravel的session获取与存取方法详解
2019/10/08 PHP
laravel 解决crontab不执行的问题
2019/10/22 PHP
laravel邮件发送的实现代码示例
2020/01/31 PHP
php中使用array_filter()函数过滤数组实例讲解
2021/03/03 PHP
JQuery 初体验(建议学习jquery)
2009/04/25 Javascript
学习并汇集javascript匿名函数
2010/11/25 Javascript
Jquery post传递数组方法实现思路及代码
2013/04/28 Javascript
JavaScript中用getDate()方法返回指定日期的教程
2015/06/09 Javascript
JS+JSP通过img标签调用实现静态页面访问次数统计的方法
2015/12/14 Javascript
jquery mobile开发常见问题分析
2016/01/21 Javascript
老生常谈combobox和combotree模糊查询
2017/04/17 Javascript
JavaScript中的FileReader图片预览上传功能实现代码
2017/07/24 Javascript
vue的基本用法与常见指令
2017/08/15 Javascript
cnpm加速Angular项目创建的方法
2018/09/07 Javascript
Electron 如何调用本地模块的方法
2019/02/01 Javascript
基于node简单实现RSA加解密的方法步骤
2019/03/21 Javascript
layui时间控件选择时间范围的实现方法
2019/09/28 Javascript
[36:52]DOTA2真视界:基辅特锦赛总决赛
2017/05/21 DOTA
python解析xml文件实例分享
2013/12/04 Python
python使用beautifulsoup从爱奇艺网抓取视频播放
2014/01/23 Python
python解析html开发库pyquery使用方法
2014/02/07 Python
Python通过poll实现异步IO的方法
2015/06/04 Python
Python线性拟合实现函数与用法示例
2018/12/13 Python
Python下简易的单例模式详解
2019/04/08 Python
Python实现多态、协议和鸭子类型的代码详解
2019/05/05 Python
Python如何将将模块分割成多个文件
2020/08/04 Python
Html5新增标签有哪些
2017/04/13 HTML / CSS
类、抽象类、接口的差异
2016/06/13 面试题
如何为DataGridView添加一个定制的Column Type
2014/01/21 面试题
民族团结先进集体事迹材料
2014/05/22 职场文书
上班迟到检讨书范文300字
2014/11/02 职场文书
优秀教师申报材料
2014/12/16 职场文书