一个关于指针的有关问题,求解
一个关于指针的问题,求解C/C++ codeint Get(int *pX){int y = 8;y = y - *pX;pX = &y;return 0;}int main(
一个关于指针的问题,求解
C/C++ codeint Get(int *pX){ int y = 8; y = y - *pX; pX = &y; return 0;}int main(){ int xx = 3; int *pY; pY = &xx; Get(pY); printf("%d", *pY); return 0}
代码如上,我总感觉pY变成了野指针,但是打出pY的时候,它仍是3,好像get方法并没有实现它的功能,感觉是实参和形参在传递的时候有什么规则我不是很清楚,求讲解,先谢谢各位,顺祝周末愉快
[解决办法]函数原型这样写就好理解了:int Get(int* pX);
传入的指针是不会改变的,pY还是&xx。
这个函数只可以改变的是指针里的内容,而函数中没有改变指针的内容,所以打印pY仍是3。