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

结构体内结构体指针是,在函数中对结构体指针进行操作值会发生变化?

发布网友 发布时间:2023-08-04 02:55

我来回答

2个回答

热心网友 时间:2024-11-25 23:19

关键在于比较一下&a  和 &c的比较,看看两个是否同一个地址。

如果&a 和&c 不是同一个地址,则c指针指向的地址内容不会发生变化。

在test_pointer函数中,参数是intnode a  而非&a ,说明只是一个形式参数,调用时,是对c对象进行的一次拷贝构造,也就是说,在内存里面重新分配了一个c单元的拷贝。

通过c->vul 指向的指针对s内存单元地址进行分配。

通过比较以下几个地址

&a  &c  比较一下两者是否同一内存区域

&s  p->val【注意,是p->val 而非  &p->val】  比较。

&s->data   &p->val->data   比较。

通过以上三个地址的比较,我想你应该会有一个明确的答案了。

热心网友 时间:2024-11-25 23:19

1、非引用传递下,改变形参的值不会改变实参的值。这里形参a和*c是两个对象,改变a的成员data不会影响*c的data值。
2、结构体和类可以理解为是一个东西,只是他们的默认访问权限不一样。类具有默认构造,当使用intnode a = b时,会将b的所有成员的值对a复制一遍。所以,在题问中,形参a的指针vul的值和*c的vul的值一致。
3、通过指针可以直接对指定的内存块进行操作。根据2描述,a.vul和(*c).vul值一致,即它们指向了同一块内存,所以改变a.vul->data的值会同步改变(*c).vul(即c->vul->data)的值。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
哪个牌子复印机好 复印店用什么型号的复印机好 开复印店需要什么设备 家用打印复印机哪个好 如何分辨鞋底是不是空心格子底? Ubuntu10.04下安装Oracle11g 超市监控多少钱 超市防盗器要多少钱 超市防盗系统多少钱 智能存放柜管理系统 48小时核酸检测结果在哪里查询-48小时核酸检测怎么看结果 定义的指针数组初始化后,可以输入修改吗 成都三全食品厂包粽子很伤手吗 柠檬是不是苦瓜 采用蓝色芯片加黄色荧光粉形成的白色LED灯发光效率如何提高? 球球大作战镜面蓝光芯片怎么得 被水淹过后的玉米叶子发黄,不长,有什么补救方法让它快速恢复吗 pic单片机进行数码管动态扫描程序如下,怎么运行不出来,问题在哪里... 我咋感觉课本上没有那。那个倒A,倒e是干嘛的 达涅利和西马克哪个的高线好 达涅利冶金设备天津厂地址 苏州达涅利电工怎么样 重庆市礼嘉中学高考600以上的有多少学生 常熟达涅利工资高吗 木马镇的政府工作 求女主大智若愚、淡定、有幽默感的古代小说,要完结的。 论古村落用地选址与布局观对当今土地整理的启示? 红安县传统村落布局的主要目的 windows8的32位系统如何换成64位的 川g是哪个市 WIN8系统32位如何换成64位 c++对象变量不可以是指向结构体的指针吗?为什么结构体的内容不能改变... C++中可以通过指针来修改他所指的对象的值吗? C语言如何修改const结构体内的变量 在利用结构体时为什么不能替换其中的值 咨询虾皮为什么不打款? 下排左边第三个牙齿的牙根一碰就痛,就是牙龈上面一点的地方,吃东西可以... 失踪多久才可以找蓝天救援队 昆明佳谛科技有限公司怎么样? 杨志剑用拼音怎么写? 上海盛汇贸易有限公司怎么样? 泉州棋凯贸易有限公司怎么样? 福尔摩斯绿玉王冠感受 求诗!我叫杨志剑她叫李小英! 急!求书虫系列福尔摩斯探案故事:绿玉王冠读后感,英文,初中水平150词_百... 体内毒素产生的原因是什么? 岳西石关的房子怎样 安徽岳西石关疗养院的收费怎么收?我在安庆,路线怎么走呢?那里环境好吗... 我想在海口这边买一套一房一厅一厨一卫的房子,请帮忙告诉我,要多少钱一... 为什么苹果实体店logo颜色不一样 如何在word中制作两寸证件照片