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

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

发布网友 发布时间:2022-04-22 08:44

我来回答

2个回答

热心网友 时间:2023-06-29 20:33

->是一个整体,它是用于指向结构体、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++,链表和指针必须熟练掌握!

热心网友 时间:2023-06-29 20:34

自增运算符 ++ 使操作数的值加1,其操作数必须为可变左值(可简单地理解为变量)。对于自增就是加1这一点,想必都不会有什么疑问。
++ 可以置于操作数前面,也可以放在后面,如:
++i;
i++ ;
++i表示,i自增1后再参与其它运算;而i++ 则是i参与运算后,i的值再自增1。
自减运算符--与之类似,只不过是变加为减而已,故不重述。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
大三实习到期需要解除实习关系吗 一个大四的实习生,实习了三个月,签了三方协议,想辞职,该怎么办?_百度... 我是今年毕业的大三学生,去年和一家公司签了三方协议,现在不想去了,但... 个人所得税的计算公式方法? 已转换lpr什么时候生效 lpr转完什么时候生效 转为lpr什么时候生效 江苏省环保产业研究会陈蒙蒙会长、陈志鹏副会长一行莅临我司考察调研... 紫苏籽油有哪些营养价值? 三星note3页面无法自动显示短信检验密码,求助! 如何让系统能正常保存不序时的凭证? 简述填制凭证时的序时控制功能的含义 记帐凭证是否按照时间顺序编号? 会计帐簿和会计凭证提供的会计资料一样,都是分类,... 用友T3 怎样按凭证日期整理凭证,我把序时控制取消了 多人出凭证如何序时和顺序号? 现金日记账应由出纳人员根据审核无误的有关收,付... 用友填制凭证日期不序时在哪里改 梦见剃光头碎头发掉脖子里是什么预兆? 金蝶软件怎么引出凭证序时账,谢谢 会计电算化实务填凭证怎么取消序时 审计中的序时账是什么? 明细账和序时账区别 EXCEL表格中的凭证序时薄如何设置为记帐凭证并打印... 会计上序时是什么意思 什么是序时账 填制凭证的日期要序时是什么意思 饿了么显示的月销售量是当月销售量还是上月销售量? 饿了么的曝光事件 饿了么送餐员几号发工资 --在c语言里是什么意思 不锈钢手工打磨抛光问题? 不锈钢抛光打磨工。 c语言->是什么意思 不锈钢打磨抛光对人体有什么危害 请问影响大吗 C语言里面这个符号(->)是什么意思?怎么用? 不锈钢打磨抛光拉丝工艺流程 c语言中 ==, ++,--,[ ]是什么意思 住房公积金一个月400交多久可以贷款买房? 不锈钢怎么打磨抛光 不锈钢抛光工作,对身体有多大危害,干过的人,能... ->在C语言中是什么意思? ->在C语言中什么意思 不锈钢如何镜面抛光 不锈钢常用的几种抛光方法 不锈钢表面抛光的工艺流程是怎么做的 ->这个符号在c语言里是什么意思? 不锈钢镜面板抛光为什么抛不亮,手工打磨,刚学,... "->"在C语言和数据结构里分别是什么意思啊?谢谢了 不锈钢抛光用人工如何抛到镜面的效果,有请高人回...