为什么c语言不能通过执行调用函数来改变实参指针变量的值
为什么c语言不能通过执行调用函数来改变实参指针变量的值用指针做参数,调用函数,也可以改变地址中的内容,从而改变实参指针变量值呀...
为什么c语言不能通过执行调用函数来改变实参指针变量的值用指针做参数,调用函数,也可以改变地址中的内容,从而改变实参指针变量值呀
展开
2个回答
展开全部
调用函数,只能改变指针指向的内存空间的内容,不能改变实参指针变量的值。
我觉得题主对指针变量,还算有一点了解。
指针变量,其实也就是一个变量,但它的值是一块内存的地址。
函数调用时,你只是把实参指针变量的值,即一块内存的地址,赋(复制)给了形参,然后,你在函数内把形参指针指向别的内存空间地址,与实参指针就无关了,实参指针还是指向原来的那块内存空间。
另外,你把实参指针变量的值,赋(复制)给了形参,然后形参指针就能操纵这块内存了,可以改变这块内存的容。此时,实参指针指向的那块内存的内容也就改变了,但实参指针的值还是函数调用前的那块内存空间的地址。
我觉得题主对指针变量,还算有一点了解。
指针变量,其实也就是一个变量,但它的值是一块内存的地址。
函数调用时,你只是把实参指针变量的值,即一块内存的地址,赋(复制)给了形参,然后,你在函数内把形参指针指向别的内存空间地址,与实参指针就无关了,实参指针还是指向原来的那块内存空间。
另外,你把实参指针变量的值,赋(复制)给了形参,然后形参指针就能操纵这块内存了,可以改变这块内存的容。此时,实参指针指向的那块内存的内容也就改变了,但实参指针的值还是函数调用前的那块内存空间的地址。
追问
说的很清楚,我懂了,谢谢!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询