自定义函数
包含
函数定义(形式参数,形式参数)形式参数只有在被调用时会创建空间,在函数结束后,自动销毁(即形参只是实参的临时拷贝,仅仅改变形参不会改变实参)
函数调用(实际参数,实际参数)
指针在自定义函数中:如果需要改变输入变量的值(即需要引起外部函数与本身数的联系)则需要使用指针。
void//函数返回类型的地方写出void,表示这个函数不返回任何值,也不需要返回
void exchange(int* px, int* py)
{
int z = 0;
z = *px;
*px = *py;
*py = z;
}
int main()
{
int a = 10;
int b = 20;
printf("交换前:a=%d b=%d\n", a, b);
exchange(&a, &b);
printf("交换后:a=%d b=%d\n", a, b);
return 0;
}
如果没有使用取地址,在走入函数exchange时 C语言会新创建地址x,y实际上a
,b的值并没有发生改变。
函数的调用
传值调用
函数的形参和实参分别占有不同的内存块,对形参做修改不会影响实参。
传址调用
讲参数地址传给函数进行调用。--能让函数和函数外部真正建立联系。
ps
数组传参,实际传递的不是数组本身,仅仅传过去了第一个元素的地址