在C语言中,函数的参数和返回值的传递方式有两种:值传递和指针传递。
值传递和指针传递初学者总会有一种朦胧的感觉,所以建议把指针传递的概念摸透,才能熟练应用。
值传递示例:x其实是n的一份临时拷贝,所以并不会改变n的值。
#include <stdio.h>
#include <windows.h>
void Fun(int x)
{
x = 1;
}
int main()
{
int n = 2;
Fun(n);
printf("%d\n",n);
system("pause");
return 0;
}
程序结果:
指针传递:这个地方可以理解为函数在被调用的时候n把地址给了x,它们都是同一个内存地址,所以x改变就随着变化。
#include <stdio.h>
#include <windows.h>
void Fun(int *x)
{
*x = 1;
}
int main()
{
int n = 2;
Fun(&n);
printf("%d\n",n);
system("pause");
return 0;
}
程序结果: