c语言 指针在自定义函数中改变主函数的变量的值时

假设主函数中有一个变量a,然后在自定义函数中通过指针改变主函数的变量a的值,那么有一个小疑问:变量a的作用域只存在主函数,自定义函数运行时难道可以通过指针取得不在该函数作用域内的a变量的地址吗?
慕姐4208626
浏览 757回答 2
2回答

慕标5832272

自定义函数通过指针改变主函数的变量,指针是凭空变出来的么,需要从主函数里通过&a等方式把变量a以地址引用的方式传递给自定义函数,这时候你控制的不是变量a,而是它对应的那个内存单元,变量名a只是这个内存单元的一个标记符号,而自定义函数获得的指针,是另一个标记

拉丁的传说

自定义函数运行时难道可以通过指针取得不在该函数作用域内的a变量的地址吗?是的,你说的没错。不信可以把地址打出来看看:Cvoidfunc(int*p){printf("infunc:%d",p);}intmain(){inta=1;printf("inmain:%d",&a);func(&a);return0;}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript