1

“->”是一个整体,它于指向结构体子数据针,用来取子数据。

换法,如果我们C语言中定义了一个结构体,然后申明一个指针指向这个结构体,那么我们要用指针取出结构体中的数据,就要用到“->”。

问题中的p=p->next ,意思是将p指向的一个结构体实例中的自数据next赋值给p。

扩展资料:

在C语言中,结构体(struct)指的是一种数据结构,是C语言中聚合数据类型(aggregate data type)的一类。结构体可以被声明为变量、指针或数组等,用以实现较复杂的数据结构。结构体同时也是一些元素的集合,这些元素称为结构体的成员(member),且这些成员可以为不同的类型,成员一般用名字访问。

定义与声明:

结构体的定义如下所示,struct为结构体关键字,tag为结构体的标志,member-list为结构体成员列表,其必须列出其所有成员;variable-list为此结构体声明的变量。

-

下面是更多关于?的问答

最佳贡献者
2

C语言中->是什么意思啊?

->是一个整它是用于指向结构体、C++中的class等含有据的指针用来取子数据。换法,如果我们在C语言中定义了一个结构体,然后申明一个指针指向这个结构体,那么我们要用指针取出结构体中的数据,就要用到“->”.

举个例子:

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*/

}

链表指针是C语言的一个难点,但也是重点,学懂了非常有用。要仔细讲就必须先讲变量、指针。

扩展资料:

链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。

链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。

每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 相比于线性表顺序结构,操作复杂。

由于不必须按顺序存储,链表在插入的时候可以达到O(1)的复杂度,比另一种线性表顺序表快得多,但是查找一个节点或者访问特定编号的节点则需要O(n)的时间,而线性表和顺序表相应的时间复杂度分别是O(logn)和O(1)。

使用链表结构可以克服数组链表需要预先知道数据大小的缺点,链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。

但是链表失去了数组随机读取的优点,同时链表由于增加了结点的指针域,空间开销比较大。

链表最明显的好处就是,常规数组排列关联项目的方式可能不同于这些数据项目在记忆体或磁盘上顺序,数据的存取往往要在不同的排列顺序中转换。

链表允许插入和移除表上任意位置上的节点,但是不允许随机存取。链表有很多种不同的类型:单向链表,双向链表以及循环链表。

链表可以在多种编程语言中实现。像Lisp和Scheme这样的语言的内建数据类型中就包含了链表的存取和操作。

程序语言或面向对象语言,如C,C++和Java依靠易变工具来生成链表。

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

本回答被网友采纳

3

-> 在c语言中是什么意思?

->在C语言中称为间接引用运二目运算符,优先级同成员运算符.”。

用法:

p->a,其中p是指向一构体的指针,a是这个结构体类型的一个成员。表达式p->a引用了指针p指向的结构体的成员a。

例如:

struct T

{

int a;

char b;

}s;

struct T* p=&s;

那么,

p->a相当于s.a。

显然,有个等价写法:(*p).a,和p->a完全等效。

----

[原创回答团]

原创

4

c语言中?是什么意思

那号表达式,简单地举个

int c = (a > b ? 1 : 0);

意思就是说,如果a大于b,那么c就为1,就为0

就出的问题而言,意思就是

如果w小于x,返回w的值,否则(如果z小于y,返回z,否则返回x)
5

C语言中 >?= 是什么意思??

6

C语言中->是什么意思啊?

"->"是C语言中的运:指向结构体成员运算符。常于结构体中

比如:

struct

student{

int

number;

float

score;

char

adrr;

}student1,*p;

int

a;

p=&student1;

这上面是

定义了一个结构体变量student1;和一个指向结构体变量的指针p;

然后看下面一句:a=p->number;

意思是把p所指向的结构体变量中的number的值赋给a;这个运算符常常和指针变量和有结构体变量一块使用。意思就是指针所指向的结构体变量中的某一个成员。

就是指向的意思;

7

C语言中->是什么意思啊?

8

c语言中“p->name”的->是什么意思?

P是某一结构体变量的指针,name则是该结构体的成员。p->name 和*p.name一样。
9

C语言中->是什么意思啊?

->在C语称为间接引用运算符,是二目运算符,级同成员运算符“.

用法:p->a,其中p是指向结构体的指针,a是这个结构体类型的一个成员。表达式p->a引用了指针p指向的结构体的成员a。

举个例子

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*/

你的回答

单击“发布您的答案”,即表示您同意我们的服务条款