在C语言中,如果一个函数需要修改用作参数的变量值的时候 ,参数应该声明为指针类型

2025-03-23 20:16:29
推荐回答(2个)
回答1:

先吐槽一下,前面的回答什么鬼,完全答非所问嘛。看了下时间,楼主应该早就弄清楚了,这里分享一下我的认识,方便后面同学解惑什么的,如果有什么不对的地方,请大牛指正。
在程序里定义了一个变量,可以通过直接给这个变量赋值来改变它的值。也可以在另外一个函数来改变这个变量的值,这个时候传入函数的就要是这个变量的地址而不只是它的一个值,这里传入地址是实参,值是形参。这个时候就要把传入的变量设为指针类型的了。就比如 void sum(int a, int b ,int *c) { *c = a + b } void main(){ int c; sum(1,2,&c); printf("%d\n",c);} 这里就是在函数内部直接改变了c的值了。

回答2:

C语言里其实没有"传参",有的只是拷贝,如果想要改变参数,即使在函数内部改了,改的也只是被拷贝的参数,所以通过指针,我们可以直接访问内存,从而改变其值