问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

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

发布网友 发布时间:2023-11-04 01:34

我来回答

5个回答

热心网友 时间:2024-12-15 01:58

->是一个整体,它是用于指向结构体、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依靠易变工具来生成链表。

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

热心网友 时间:2024-12-15 01:59

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

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

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

扩展资料:

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

定义与声明:

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

热心网友 时间:2024-12-15 01:59

->是一个整体,它是用于指向结构体、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语言的一个难点,但也是重点,学懂了非常有用。要仔细讲就必须先讲变量、指针。
什么是变量?所谓变量,不要浅显的认为会变得量就是变量。套用我们院长的问话:“教室变不变?”变,因为每天有不同的人在里面上课,但又不变,因为教室始终在那,没有变大或变小。这就是变量:有一个不变的地址和一块可变的存储空间。正常情况下,我们只看到变量这个房间里面的东西,也就是其内容,但不会关注变量的地址,但是C语言的指针,就是这个房间的地址。我们声明变量就相当于盖了间房子存放东西,我们可以直接观看房子里的东西,而声明指针,就是相当于获得了一个定位器,当用指针指向某个变量时,就是用指针给变量定位,以后我们就可以用指针找到他所“跟踪”的变量并可以获得里面的内容。
那结构体呢?结构体就相当于是有好几个房子组成的别墅,几个房子绑定在一起使用。假设现在有很多这种别墅分布在一个大迷宫里,每间别墅里都有一间房子。里面放了另一个别墅的位置信息,现在你手拿定位器找到了第一栋别墅,从里面得到了你想要的东西(链表的数据部分),然后把下一栋别墅的位置计入你的定位器(p = p->next),再走向下一栋别墅……如此走下去,知道走到某地下一栋别墅信息没有了(p->next == NULL),你的旅行结束。这就是链表一次遍历的过程。现在你能明白 p=p->next的含义了吧!
写了这么多。希望你能明白。
如果想学好c和C++,链表和指针必须熟练掌握!

热心网友 时间:2024-12-15 02:00

->是一个整体,代表“指向”的意思。
例如有定义
struct aaa
{
int b;
struct *next;
}c,d,*p;
在上面的定义中,c和d是变量,它们的类型是aaa,p是一个指向aaa类型的指针变量。
如果
p=&c;
则把变量c的地址赋给p,此时,p指向c。
如果
p->next=d;
则d就是c的后继,此时p指向c,p->指向d,
如果
p=p->next ;
则p就指向了d

热心网友 时间:2024-12-15 02:00

->是一个整体,表示从指针访问结构体的成员变量
p = p->next
这常常用于结构体单链表,表示p指向下一个节点
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
桑葚干直接吃还是泡水喝比较好桑葚干直接吃补肾吗 桑葚干泡水吃好还是干吃好 益智仁脑素神经酸片的功效与作用有哪些 黄冈师范学院师范专业有哪些 语文教育专业考研方向分析 黄冈师范学院语文教育专科毕业能拿教师资格证吗 php保留数字小数点后两位的方法 梦见被后咬 梦见母亲给赔鸡钱补了十二元的预兆 梦见门掉下来要二十五元修理费 请用结构体和指针实现一个简单学生信息系统结构体存储学生学号与...5 《部落冲突》怎么合理安排农民升级建筑? 如何选购一台马力比较适合自己使用的跑步机呢? 牵引挂车时,发生交通事故主车买了交强险和商业险,而挂车没有买...3 意外保险一般哪些情况是不赔的6 用matlab写程序解答,求大神 一个期货小散如何5万做到一个亿1 最近书荒,拜托介绍点小说给我。喜欢的类型小说《活色生仙》《逼...1 我家的轿车被半挂车撞了,半挂全责,应该怎么赔? 为什么我的手机接收无线网信号非常差?5 深圳市海厚实业有限公司怎么样? 该如何向老板提出涨工资?66 如何委婉向老板提涨工资 加薪也是有技巧的5 想加工资啊。怎么提啊。38 一个手机号怎么申请第二个? ...长60米,高10米,两台10吨行车的钢结构车间,造价需要多少钱?_百度... 迪拜世界中心国际机场的构造2 京东快递员会出现偷东西吗?今天因为有事,但是快递说今天要送到,他说... 如何将微信好友转移到另一个上? 蓝牙耳机充电5v~200ma可以用插头5v~1a的吗9 说一说你们做螺纹钢期货的杠杆都是多少倍1 求救,算电流多少? 我注册了2个微信,但是其中一个密码忘记了,知道微信名字,怎么登陆... 用MATLAB编写解题的程序1 从日本回国,出关的时候护照没给盖章,出境记录有,再回日本会不会有麻烦... 求“莫扎特 D大调双钢琴奏鸣曲 K488” 钢琴琴谱 莫扎特c大调双钢琴奏鸣曲 琴谱1 为什么有的时候突然感觉世界上一切都没有不存在?1 轻钢结构厂房的造价? 长100m,宽24m×2,屋面墙体为100厚夹芯板,10t、2... 演唱会给自己喜欢的人加油 一般都会举个会发光的牌子 叫... 来到初中的感受作文15 请问<img>标签里的<alt>属性是用来干什么的? 伤心了,心非常非常痛。有什么句子或者诗句可以来表达我此刻的心...15 一个手机号注册的两个 其中一个微信忘记密码怎么找回? 一个号码注册了两个,怎么找回第一个? 怎么跟领导提出涨工资,涨多少合适?157 如何跟老板谈涨工资25 能与自己不喜欢的,但物质条件好的人结婚吗?会幸福吗? 上联:香花不红红花不香玫瑰花又红又香请对下联平仄相对字数相等5 Copyright 后面的“年”是什么意思啊?1