定义函数
返回值类型 函数名([参数列表]){函数主体}
- 注意不能在函数中定义函数。定义函数在主函数外定义
- void返回值也是可以写return语句的。但是不返回任何值。即
**return;** -
函数声明
返回值类型 函数名([参数列表]); 当您在一个源文件中定义函数且在另一个文件中调用函数时,函数声明是必需的
- 函数定义在调用后也是没问题的(还是写以下,有没坏处,也可以避免问题)
- 声明时参数列表可以不写参数名只写参数类型
函数参数
函数参数被称作形式参数 。作用域仅限于函数内。 **在进入函数时被创建,退出函数时被销毁。**
有两种向函数传递参数的 方式
- 传值调用
引用调用 :该方法把参数的地址复制给形式参数。在函数内,该地址用于访问调用中要用到的实际参数。这意味着,修改形式参数会影响实际参数。
include
/ 函数声明 / void swap(int x, int y);
int main () { / 局部变量定义 / int a = 100; int b = 200;
printf(“交换前,a 的值: %d\n”, a ); printf(“交换前,b 的值: %d\n”, b );
/* 调用函数来交换值
* &a 表示指向 a 的指针,即变量 a 的地址* &b 表示指向 b 的指针,即变量 b 的地址
*/ swap(&a, &b);
printf(“交换后,a 的值: %d\n”, a ); printf(“交换后,b 的值: %d\n”, b );
return 0; } 交换前,a 的值: 100 交换前,b 的值: 200 交换后,a 的值: 200 交换后,b 的值: 100 ``` 注意函数参数列表为指针型,则调用函数时也传指针型或者传&变量
传递数组的例子见c语言传递数组、
