请教下一个struct的作用是什么?去掉有什么后果?

在应用链表插入节点时会用到

struct nk // 结构声明
{
int num; // 整型数
struct nk *next; // 指向numST结构的指针
};


拉风的咖菲猫
浏览 118回答 3
3回答

RISEBY

因为链表在内存的堆中,每个节点需要记录下个节点的地址信息,这样才能保证链表的连接完整性,才可能实现将数据串接起来,这个指针的作用就在于指向下一个nk结构体数据的信息,在链表的使用过程中只要将头指针(自己定义的,一般为全局指针)保存好就可以通过该next指针不断一次找到每个新开辟内存的节点的信息!所以去掉的话就无法完成链表的创建(即串接)工作,自然就不能实现功能!

肥皂起泡泡

你去掉试试呗,我想是应该是类型nk错误,原因是 在struct nk定义的内部struct nk *next 声明这个成员next时候,struct nk 本身并不完整,也就是说struct nk 本身没有完成定义,那么也就是在内部时候还不存在nk这个类型,所以通过struct nk 这样的声明的方式 才能声明一个成员

慕标琳琳

因为节点通常包含一个数据和一个指针指向另一个节点.去掉了的话这个指针就不会包含int num这个储存num的项了,也就失去了链表的意义
打开App,查看更多内容
随时随地看视频慕课网APP