发布网友 发布时间: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值。