指针 int* a 作为函数的参数,进行变化时~他的值为什么返回的时候还是没有改变?

2025-05-13 10:42:15
推荐回答(1个)
回答(1):

用指针作参数返回值,我理解是希望指针指向的地址内的值在被调函数中改变,而在主调中指针指向的地址不变,从而实现改变值的目的。
在这里你实际是传了一个地址过去,然后在被调函数中将一个地址赋给指针。但函数结束时,被分配的内存空间被系统释放了,所以你所希望的指针地址的转换也没发生。指针指向的地址内的值仍然没变。所以值没变。

你改成*a = c应该就行了。另外, main前少了类型标识符。