在C语言中,如果一个函数需要修改用作参数的变量值的时候 ,参数应该声明为指针类型
这句话说的是什么意思?为什么要声明为指针类型,能不能举个例子来说明下就像intsum(inta,intb)设一个函数输入2个参数用于求和,这样在使用时sum(4,6),不...
这句话说的是什么意思?为什么要声明为指针类型,能不能举个例子来说明下
就像int sum(int a,int b)设一个函数输入2个参数用于求和,这样在使用时sum(4,6),不就可以算出和了吗?设成指针型和不是指针型区别在哪?我在搞一些硬件编程的时候,人家写好的函数全是指针做参数,为什么一定要这样写? 展开
就像int sum(int a,int b)设一个函数输入2个参数用于求和,这样在使用时sum(4,6),不就可以算出和了吗?设成指针型和不是指针型区别在哪?我在搞一些硬件编程的时候,人家写好的函数全是指针做参数,为什么一定要这样写? 展开
2个回答
展开全部
先吐槽一下,前面的回答什么鬼,完全答非所问嘛。看了下时间,楼主应该早就弄清楚了,这里分享一下我的认识,方便后面同学解惑什么的,如果有什么不对的地方,请大牛指正。
在程序里定义了一个变量,可以通过直接给这个变量赋值来改变它的值。也可以在另外一个函数来改变这个变量的值,这个时候传入函数的就要是这个变量的地址而不只是它的一个值,这里传入地址是实参,值是形参。这个时候就要把传入的变量设为指针类型的了。就比如 void sum(int a, int b ,int *c) { *c = a + b } void main(){ int c; sum(1,2,&c); printf("%d\n",c);} 这里就是在函数内部直接改变了c的值了。
在程序里定义了一个变量,可以通过直接给这个变量赋值来改变它的值。也可以在另外一个函数来改变这个变量的值,这个时候传入函数的就要是这个变量的地址而不只是它的一个值,这里传入地址是实参,值是形参。这个时候就要把传入的变量设为指针类型的了。就比如 void sum(int a, int b ,int *c) { *c = a + b } void main(){ int c; sum(1,2,&c); printf("%d\n",c);} 这里就是在函数内部直接改变了c的值了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询