1.函数:程序的最小单位
2.写一个交换函数ide
swap1(int x, int y) //传值调用 { int tmp; tmp = x; x = y; y = tmp; } swap2(int* x, int* y) //传址调用 { int tmp; tmp = *x; *x = *y; *y = tmp; } int main() { int a, b; a = 10; b = 20; swap1(a, b); printf("a=%d, b=%d\n", a, b); //输出 a=10, b=20 swap2(&a, &b); printf("a=%d, b=%d\n", a, b); //输出 a=20, b=10 }
//swap1中形参x和y在调用函数时只是实参a和b的一份临时拷贝,它有本身的地址,故不能改变外部变量a和b的值,达不到交换a和b的做用
//swap2是传址调用,把a和b变量的地址传给函数swap2,在swap2函数中操做时直接改变了a和b变量所在地址的值,从而达到交换a和b的值的做用
形参:即自定义函数中括号内须要的参数,它能够是常量、变量、表达式或函数,但必须是
一个肯定的值,形参在函数调用的时候才会为其分配内存,在调用结束后销毁内存。
实参:即函数中实际的值,如上述函数中a和b就是实参。函数