四、函数的使用 函数定义到使用分三步:1、声明。2、定义函数。3、调用函数。
函数的声明:
在调用函数中调用某函数之前,应对该被调用的函数进行说明(声明),这与使用变量之前要先进行变量说明是一样的. 在主调函数中对被调函数作说明的目的是使编译系统知道被调函数返回值的类型,以便在主调函数中按此种类型对返回值作相应的处理。其一般形式为: 返回值类型 被调函数名( 类型 形参, 类型 形参... ); 注意: 1) 如果被调函数的返回值是整型时,可以不对被调函数作说明,而直接调用。这时系统将自动对被调函数返回值按整型处理。 2) 当被调函数的函数定义出现在主调函数之前时,在主调函数中也可以不对被调函 数再作说明而直接调用。
[objc] view plain copy
- /*
- 函数要 先声明 再调用 void sum();
- 将被调函数的头部复制一份加一个分号
-
- 注意事项: 如果被调函数声明的返回值为int 可以省略声明
-
- */
- #include <stdio.h>
-
- int main(int argc, const charchar * argv[]) {
- // insert code here...
- printf("Hello, World!\n");
- void sum1();
- sum();
- return 0;
- }
- int sum(){
- return 0;
- }
- void sum1(){
- }
函数的定义和调用
C语言中,函数调用的一般形式为: 函数名(实际参数表);
[objc] view plain copy
- #include <stdio.h>
- //无参数无返回值
- void print_line(){
- printf("__________________\n");
-
- }
- //有参数无返回值
- void print_line_n(int n){
- for (int i = 0; i < n; i++) {
- printf("________\n");
- }
- }
- //无参数有返回值
- int sum1(){
- return 0;
- }
- //有参数有返回值
- int sum(int x,int y){
- int z = x + y;
- return z;
- }
- int num_num(int a){
- return a*a;
- }
- int main(int argc, const charchar * argv[]) {
- print_line();
- print_line_n(5);
- int s = sum(4, 5);
- printf("s = %d\n",s);
- printf("sum1 = %d\n",sum1());
- printf("请输入一个数,求它的平方!\n");
- int a;
- scanf("%d",&a);
- int a2 = num_num(a);
- printf("a的平方 = %d\n",a2);
- return 0;
- }
五、函数的形参和实参
1、形式参数 定义函数的时候,函数名后面小括号中的参数,简称形参 2、实际参数 调用函数的时候,函数名后面小括号中的参数,简称实参 函数的参数传递过程 1)形参变量只有在被调用时才分配内存单元在调用结束时,即刻释放所分配的内存单元。因此,形参只有在函数内部有效。函数 调用结束返回主调函数后则不能再使用该形参变量。 2)实参可以是常量、变量、表达式、函数等 无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值,以便把这些值传送给形参。因此应预先用赋值,输入等办法使实参获得确定值。 3)实参和形参在数量上,类型上,顺序上应严格一致,否则会发生类型不匹配”的错误。
|