C语言函数调用时为值传递,实参赋值给形参,形参值改变不会影响实参(原理:两个参数地址不同),若要函数改变实参值,应当传递实参的地址,参考以下实例。
代码展示:
#include <stdio.h>
void change(int *j){
*j=5;
printf("j consist:%p\n",j);
}
int main(){
int i=10;
printf("before change i=%d\n",i);
change(&i);
printf("after change i=%d\n",i);
printf("i address :%p\n",&i);
}