结构体小问题 求大神!

zhishiheng 2012-04-12 03:14:09

typedef struct Node {
int data;
struct Node *next;这一行如何解释?这个 next指针 指哪了呢?
}Linklist;
...全文
186 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhishiheng 2012-04-12
  • 打赏
  • 举报
回复
正如三楼所说 next指针 定义时随机指向一个地址 后来指向的下一个节点 也就是充当了链的功能.多谢各位啦!O(∩_∩)O哈哈~
northcan 2012-04-12
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]
各位应该没明白我的意思 首先struct Node *next;这行中next是一个结构指针变量 结构指针变量指向的应该是结构体的首地址 那么next是指向本结构体吗? 这样我感觉要……
[/Quote]

楼主看下数据结构里面的“链表”,这个指针是指向一个结构体类型,
不过不是指向自己,而是指向另外一个结构体变量(节点)。

“链表”的每个节点,通常包含两个成员,其中一个用来存储本节点的元素值,
另一个成员就是一个指针,指向下一个节点。“链表”通过这些指针,
将很多个节点串联到一起。

MayCarry 2012-04-12
  • 打赏
  • 举报
回复
typedef struct Node {
int data;
struct Node *next;这一行如何解释?这个 next指针 指哪了呢?//指向下一个节点啊
}Node,Linklist;
AlvinLau 2012-04-12
  • 打赏
  • 举报
回复
当向链表中插入新的元素[Linklist listX]时,初始化[listX.next=NULL],然后[list.next=listX],这样指向的关系就清楚了。[Quote=引用 10 楼 的回复:]
看三楼。楼主的这些语句是一个类型声明,此时不存在实际指向的概念。当使用这个类型声明一个实例时,如[Linklist list],这时,list的next域,指向一个未知的空间;初始化是可以用语句[list.next=NULL]确定指向。

引用 5 楼 的回复:
引用 2 楼 的回复:

struct Node *next;这一行如何解释?这个 next指针 指哪了呢?
说明这个结构体……
[/Quote]
AlvinLau 2012-04-12
  • 打赏
  • 举报
回复
看三楼。楼主的这些语句是一个类型声明,此时不存在实际指向的概念。当使用这个类型声明一个实例时,如[Linklist list],这时,list的next域,指向一个未知的空间;初始化是可以用语句[list.next=NULL]确定指向。[Quote=引用 5 楼 的回复:]
引用 2 楼 的回复:

struct Node *next;这一行如何解释?这个 next指针 指哪了呢?
说明这个结构体内包含一个指向该结构体类型的指针。。


可以看看 链表,里面都是这么用的

各位应该没明白我的意思 首先struct Node *next;这行中next是一个结构指针变量 结构指针变量指向的应该是结构体的首地址 那么next是指向本结构体吗? 这样我感觉要……
[/Quote]
港产零零柒 2012-04-12
  • 打赏
  • 举报
回复
如果要用此结构体构成单链表,当然是要指向下一个节点了!
thefutureisour 2012-04-12
  • 打赏
  • 举报
回复
我觉得这个指针还没有初始化,应该指向一个随机的地址,但是初始化以后,让他指向另个Node类型的结构体,就能形成链表。
fireyou 2012-04-12
  • 打赏
  • 举报
回复
mark,搜索下链表相关的知识
  • 打赏
  • 举报
回复
应该是指向了自己吧……
zhishiheng 2012-04-12
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

struct Node *next;这一行如何解释?这个 next指针 指哪了呢?
说明这个结构体内包含一个指向该结构体类型的指针。。


可以看看 链表,里面都是这么用的
[/Quote]
各位应该没明白我的意思 首先struct Node *next;这行中next是一个结构指针变量 结构指针变量指向的应该是结构体的首地址 那么next是指向本结构体吗? 这样我感觉要开始循环了。。。。。
老鼠期待爱 2012-04-12
  • 打赏
  • 举报
回复
你看这个
typedef struct Node {
int data;
struct Node *next;这一行如何解释?这个 next指针 指哪了呢?//指向下一个节点啊
}Node,Linklist;
松哥是好人 2012-04-12
  • 打赏
  • 举报
回复
struct Node *next是一个Node结构类型的指针,这里只是声明,没有初始化,因此随机指向任意一个位置
pengfoo 2012-04-12
  • 打赏
  • 举报
回复
struct Node *next;这一行如何解释?这个 next指针 指哪了呢?
说明这个结构体内包含一个指向该结构体类型的指针。。


可以看看 链表,里面都是这么用的
c_losed 2012-04-12
  • 打赏
  • 举报
回复
可以看下 链表相关的资料

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧