c语言外部函数改变调用函数变量的问题

书里说,外部被调用函数无法改变调用函数里的变量:比如要交换调用函数中的两个变量的值,就需要通过指针才能完成。但是如果原变量是数组,好像不用指针也能完成改变。这是为什么?还... 书里说,外部被调用函数无法改变调用函数里的变量:比如要交换调用函数中的两个变量的值,就需要通过指针才能完成。但是如果原变量是数组,好像不用指针也能完成改变。这是为什么?
还有,能解释一下为什么交换的程序里,main中输入swap函数的是&a,&b, 而swap函数本身却是*a,*b?
展开
 我来答
阳光的雷咩咩
2017-08-10 · TA获得超过1.4万个赞
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:7531万
展开全部
但是如果原变量是数组,好像不用指针也能完成改变。这是为什么---因为C语言数组作参数的时候是传的首地址,也相当于指针
入swap函数的是&a,&b, 而swap函数本身却是*a,*b,前面是实参,后面是形参,都是指针,完全不矛盾,声明的时候*表示指针,实际的值加&表示指针,不要被表象迷惑
追问
也就是说*a只是说明我要输入的变量是个指针,而&a才是那个指针,是吗?
追答
完全正确
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式