c中struct的使用问题

[复制链接]
查看11 | 回复4 | 2012-8-16 21:28:34 | 显示全部楼层 |阅读模式
因为链表在内存的堆中,每个节点需要记录下个节点的地址信息,这样才能保证链表的连接完整性,才可能实现将数据串接起来,这个指针的作用就在于指向下一个nk结构体数据的信息,在链表的使用过程中只要将头指针(自己定义的,一般为全局指针)保存好就可以通过该next指针不断一次找到每个新开辟内存的节点的信息!所以去掉的话就无法完成链表的创建(即串接)工作,自然就不能实现功能!...
回复

使用道具 举报

千问 | 2012-8-16 21:28:34 | 显示全部楼层
你去掉试试呗,我想是应该是类型nk错误,原因是 在struct nk定义的内部struct nk *next 声明这个成员next时候,struct nk 本身并不完整,也就是说struct nk 本身没有完成定义,那么也就是在内部时候还不存在nk这个类型,所以通过struct nk 这样的声明的方式 才能声明一个成员...
回复

使用道具 举报

千问 | 2012-8-16 21:28:34 | 显示全部楼层
因为节点通常包含一个数据和一个指针指向另一个节点.去掉了的话这个指针就不会包含int num这个储存num的项了,也就失去了链表的意义...
回复

使用道具 举报

千问 | 2012-8-16 21:28:34 | 显示全部楼层
应该是编译器的问题吧 有的需要用sruct 有的不需要
一些旧版的gcc编译器需要有struct的 如果使用c++的话不加是没用问题的建议是如果不加编译器报错就加上 就是一个语言格式而已...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行