------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
一、函数
1. 函数:有独特功能的程序段,我们称之为函数
2. 定义函数的目的:将一个常用的功能封装起来,方便调用(面向对象的思想)
3. 定义函数的步骤:
(1)函数名 (要起的有意义)
(2)函数体 (代码段)
4. 函数的结构
int sum (int a, int b) //返回值类型 函数名(形式参数列表)
{
int c = a + b; // 函数体
}
5. 函数的调用
int sum(int num1, int num2) //num1,num2 为形式参数(形参),接收外界传来的值,num1=a=10,num2=b=9
{
return num1+num2; //返回num1+num2 的值给调用函数的地方
}
int main ( )
{
int a= 10; //a 和 b称为实际参数(实参)
int b= 9;
int c=sum(a,b); //调用sum函数
printf("c=%d\n",c);
return 0;
}
6. 形参的个数 = 实参的个数,形参也是一个局部变量
7. 函数体内部不能定义和形参一样的变量
8. 改变形参中变量的值,不会影响实参的值,形参和实参之间仅仅只是值传递
9. 一个函数可以没有形参,也可以有无限个形参
10. return的作用
(1)退出函数
(2)返回一个具体值给函数调用的地方
11. void代表函数无返回值(后面可以写return,但不能跟数值,表示退出函数)
12. 如果没有明确声明函数返回值类型,默认返回值类型是int
* 函数使用注意
(1)不允许出现两个函数名称相同
(2)函数不能嵌套定义
(3)函数不能重复定义,但是可以重复声明,函数声明只需要放到函数调用之前就可以,位置不限
(4)如果有函数的声明,没有函数的实现
编译可以通过,因为编译只会检测语法合不合理
链接会报错,因为链接时会检测函数是否定义
13. include的使用(# include <stdio.h>)
(1)作用:拷贝右边文件(stdio.h)的所有内容到#include所在的位置
(2)自定义的文件用"",系统自带的文件用 <>
(3)#include <stdio.h>的目的:拷贝printf 函数的声明
二、多文件团队开发
(1)函数的定义放.c文件,函数的声明放.h文件
(2)如果要使用某个.c文件中定义的函数,只需要#include这个.c文件对应的.h文件
(3).h文件的作用:被别人拷贝。编译链接的时候不需要管.h文件
(4)cc xx.o xxx.o 将多个目标文件链接在一起,生成一个可执行文件
cc xx.c xxx.c 将多个源文件编译、链接
* 补 充
(1)main 函数中的return 0 只是代表程序正常执行完毕
(2)printf 函数也有返回值,它的返回值是int型,代表字符串常量的字符数,而不是字数