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...

面试题 相关文章推荐
解释一下ArrayList Vector和LinkedList的实现和区别
Apr 26 面试题
什么是Deployment descriptors;都有什么类型的部署描述符
Jul 28 面试题
类、抽象类、接口的差异
Jun 13 面试题
在什么时候需要使用"常引用"
Dec 31 面试题
什么是事务?为什么需要事务?
Jan 09 面试题
怎么可以提高数据库查询数据的速度
Jun 28 面试题
了解AppleTalk协议吗
Apr 01 面试题
介绍一下Linux内核的排队自旋锁
Jan 04 面试题
几个常见的软件测试问题
Sep 07 面试题
XMLHttpRequest对象在IE和Firefox中创建方式有没有不同
Mar 23 面试题
启动一个线程是用run()还是start()
Dec 25 面试题
Servlet如何得到服务器的信息
Dec 22 面试题
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 Xdebug 调试扩展的安装与使用.
2010/03/13 PHP
php 批量生成html,txt文件的实现代码
2013/06/26 PHP
PHP中判断变量为空的几种方法小结
2013/11/12 PHP
php+js iframe实现上传头像界面无跳转
2014/04/29 PHP
PHP判断表单复选框选中状态完整例子
2014/06/24 PHP
PHP7 mongoDB扩展使用的方法分享
2019/05/02 PHP
php接口隔离原则实例分析
2019/11/11 PHP
javascript innerText和innerHtml应用
2010/01/28 Javascript
JQuery插件fancybox无法在弹出层使用左右键的解决办法
2013/12/25 Javascript
AngularJS入门教程之Hello World!
2014/12/06 Javascript
jQuery创建DOM元素实例解析
2015/01/19 Javascript
jQuery实现输入框下拉列表树插件特效代码分享
2015/08/27 Javascript
JavaScript拖拽、碰撞、重力及弹性运动实例分析
2016/01/08 Javascript
一览画面点击复选框后获取多个id值的方法
2016/05/30 Javascript
AngularJs Dependency Injection(DI,依赖注入)
2016/09/02 Javascript
详解AngularJs HTTP响应拦截器实现登陆、权限校验
2017/04/11 Javascript
详解win7 cmd执行vue不是内部命令的解决方法
2017/07/27 Javascript
vue router仿天猫底部导航栏功能
2017/10/18 Javascript
动态Axios的配置步骤详解
2018/01/12 Javascript
深度了解vue.js中hooks的相关知识
2019/06/14 Javascript
VUE项目实现主题切换的多种方法
2020/11/26 Vue.js
[03:09]显微镜下的DOTA2第一期——带你走进华丽的DOTA2世界
2014/06/20 DOTA
详解Django中六个常用的自定义装饰器
2018/07/04 Python
Python读取Excel表格,并同时画折线图和柱状图的方法
2018/10/14 Python
Python读取excel指定列生成指定sql脚本的方法
2018/11/28 Python
对python函数签名的方法详解
2019/01/22 Python
Python网络编程之使用TCP方式传输文件操作示例
2019/11/01 Python
python装饰器练习题及答案
2019/11/01 Python
Python爬虫爬取电影票房数据及图表展示操作示例
2020/03/27 Python
Python列表去重复项的N种方法(实例代码)
2020/05/12 Python
VSCode中autopep8无法运行问题解决方案(提示Error: Command failed,usage)
2021/03/02 Python
VLAN和VPN有什么区别?分别实现在OSI的第几层?
2014/12/23 面试题
反四风对照检查材料思想汇报
2014/09/16 职场文书
校园广播稿范文
2015/08/19 职场文书
施工安全协议书
2016/03/22 职场文书
Redis全局ID生成器的实现
2022/06/05 Redis