黑马程序员—关于函数

来源:互联网 发布:淘宝买到假货退款三倍 编辑:程序博客网 时间:2024/04/26 07:59

函数是C语言学习过程中的一个重点,同时也是一个难点,为了方便自己的学习和以后查阅,总结如下:

一、无参数无返回值函数

无参数就是函数中不传递任何参数,即小括号中什么都没有,而无返回值就是函数的返回值类型为void类型

无参数无返回值函数格式:

void 函数名(){    // 函数内容;}


例如求两数之和函数:

int sum(){    int sum1 = 0,int sum2 = 0;    int result = 0;    scanf("%d,%d", &num1, &num2);    result = num1 +num2;    printf("%d + %d = %d", num1, num2, result);}


二、无参数有返回值函数

无参数还是如上函数中与外界不传递任何参数,即小括号中什么都没有,而有返回值就是返回值的类型可以是任何类型,包括int,double等等。

无参数有返回值函数格式:

返回值类型 函数名(){    // 函数内容;    return 返回值;}

注意:如果函数有返回值类型,在函数体中必须有return语句。

例如求两数之和的函数:

int sum(){    int sum1 = 0,int sum2 = 0;    int result = 0;    scanf("%d,%d", &num1, &num2);    result = num1 +num2;    return result;}

三、有参数无返回值函数

有参数就是函数和外界有一些数据上的传输,在函数的括号中需要有一些参数,并且这些参数还要有参数类型;无返回值就是函数的返回值类型是void类型

有参数无返回值函数格式:

void 函数名(参数类型1 参数1,参数类型2 参数2...){    // 函数内容}

注意:返回值类型应该写void,函数名后面的小括号必须不能为空,参数一定要由参数类型。

例如求两数之和的函数:

void sum(int sum1, int sum2){    int result = 0;    result = num1 +num2;    printf("%d + %d = %d", sum1, sum2, result);}

四、有参数有返回值函数

有参数就是函数和外界有数据上的交流,在函数的括号中需要一些参数,而且这些参数一定要有参数类型;有返回值就是函数需要向调用它的函数返回函数调用后的结果,返回值必须要有类型,返回值类型可以是int,double,指针类型等。

有参数有返回值函数格式:

返回值类型 函数名(参数类型1 参数1,参数类型2 参数2...){    // 函数内容    return 返回值;}

注意:返回值一定要有类型,并且参数也要有参数类型。

例如求两数之和的函数:

int sum(int sum1, int sum2){    int result = 0;    result = num1 +num2;    return result;}

五、函数的参数问题

1、形式参数,简称形参:在函数的定义中,函数名后面小括号中的参数

注意:

1)形参定义后并不会立即分配存储空间,在函数调用的时候才会真正的分配存储空间

2)如果多个形参,可以用逗号分隔

3)形参的类型可以不相同

4) 在函数中不能定义和形参同名的变量

2、实际参数,简称实参:在函数调用的时候,函数名小括号中的参数

注意:

1)实参可是是变量,也可以是常量,也可以是表达式

六、实参和形参之间的值的传递的过程

1、调用函数的时候,实参的值是一个已经确定的值

2、把实参的值,赋值给形参

3、实参和形参的个数、类型要一致

4、如果类型不一致,会造成精度丢失

5、形参的值在函数内部可以被修改,但是不会影响主调函数中实参的数据

七、函数的声明

1、函数使用的流程:

先声明 -----> 定义 -----> 调用

2、函数的声明作用:

告诉编译器这个函数已经存在了,告诉编译器被调函数的返回值类型,以便在主调函数中处理被调函数返回的数据

3、函数声明的格式:

把被调函数的头部拷贝一份加上一个分号;

4、函数声明的注意事项:

1)如果被调函数的返回值是int类型,此时可以不用声明

2) 如果被调函数写在了主调函数之前,此时可以不用声明

0 0
原创粉丝点击