数据结构中p->next是什么意思?->是什么意思?

如题所述

-> 左边是结构体指针,右边是结构体成员,因此p->next 的含义是p指针指向结构体变量的next数据域。

例:

typedef struct{

int data;

struct Lnode *next;

}Lnode,*LinkList;

Lnode a;  结构体变量,用a.data、a.next

LinkList s;结构体指针,用s->data、s->next

扩展资料

p->next定义

struct Data

{

int a,b,c;

}; /*定义结构体*/

struct Data * p;/*定义结构体指针*/

struct Data A = {1,2,3};/*声明变量A*/

int x;/*声明一个变量x*/

p = &A ; /*让p指向A*/

x = p->a;/*这句话的意思就是取出p所指向的结构体中包含的数据项a赋值给x*/

/*由于此时p指向A,因而 p->a == A.a,也就是1*/

对于一开始的问题 p = p->next;这应该出现在C语言的链表,这里的next应该是一个与p同类型的结构体指针,其定义格式应该是:

struct Data

{

int a;

struct Data * next;

};/*定义结构体*/

main()

{

struct Data * p;/*声明指针变量p*/

p = p->next;/*将next中的值赋给p*/

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-06-22

链表中的指向下一个节点。->是表示指向结构体中的成员。

链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。

使用链表结构可以克服数组链表需要预先知道数据大小的缺点,链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。但是链表失去了数组随机读取的优点,同时链表由于增加了结点的指针域,空间开销比较大。

扩展资料:

数据结构分类

根据数据元素间关系的不同特性,通常有下列四类基本的结构

1、集合结构。该结构的数据元素间的关系是“属于同一个集合”。

2、线性结构。该结构的数据元素之间存在着一对一的关系。

3、树型结构。该结构的数据元素之间存在着一对多的关系。 

4、图形结构。该结构的数据元素之间存在着多对多的关系,也称网状结构。 从上面所介绍的数据结构的概念中可以知道,一个数据结构有两个要素。一个是数据元素的集合,另一个是关系的集合。在形式上,数据结构通常可以采用一个二元组来表示。

参考资料:百度百科-链表

参考资料:百度百科-数据结构

本回答被网友采纳
第2个回答  推荐于2018-02-28

typedefstruct LNode {

        DataType data;

        structLNode *next;

}LNode, *LinkList;

基本形态

带头结点的单链表的基本形态有:

单链表空

条件: L->next == 0

单链表不空

条件:L->next!= 0

 

基本算法  (遍历)

顺序访问所有元素

借助指针,“顺藤摸瓜”(沿着链表访问结点)。

p = L->next;                             // 注意起始位置的考虑

while ( p!=NULL ) {                 //判表尾,另外 (p!=0)或(p)均可

  visit( p->data );                     //访问:可以换成各种操作

  p = p->next;                         //指针沿着链表向后移动

}

 p->next  :如图  如果P现在a1,p->next 就是a2,



拙见!!

本回答被网友采纳
第3个回答  2012-10-10
链表中的指向下一个节点。->是表示指向结构体中的成员本回答被提问者采纳
第4个回答  2012-10-10
指向对象成员