函数
函数的作用:封装常用功能,方便调用
定义函数要明确的东西:
1) 形参
2) 返回值类型
3) 有意义的函数名
形参和实参
形参:在定义函数时的从参数称为形参
实参:在调用函数时传入函数的数据称为实参
使用注意:
1) 实参个数等于形参个数
2) 函数内部不能定义和形参一样的变量
3) 如果是基本数据类型作为函数形参,纯粹为值传递,修改函数内部形参的值,并不会影响外面实参的值
4) 函数可以没有形参,也可以拥有无限形参
return的作用
1) 退出函数
2) 返回一个具体值给函数调用者
3) 结束无返回值的函数(return;)
使用注意:
1) C语言中如果不明确返回值类型,默认就是int类型
2) void代表没有返回值
3) 即使明确声明了返回值类型,也可以不返回任何值(如int mian()主函数)
include基本使用
作用:拷贝右边文件的所有内容到#include所在位置的右边
1) 自定义的文件用双引号””,系统自带的文件用尖括号<>
2) #include <stdio.h>的目的:拷贝printf函数的声明
函数注意点
1) 默认情况下,C语言不允许两个函数名称一样(不管形参是否一样,即不能重载)
2) 函数不能嵌套定义
3) 函数声明(C语言中可以重复声明)另:函数声明的位置可以在main()函数之前,也可以在main()函数之内调用该函数语句之前
4) 如果有函数声明,没有函数定义(编译可以通过,编译只检测语法;链接会报错,因为链接会检测函数定义)
5) 如果直接调用函数且无函数定义,编译链接可以通过(只报warning,不报error,如:无#include <stdio.h>,直接调用printf()函数)
多文件团队开发
基本实现:在链接时将所有.o文件和C语言函数库合并生成可执行文件
1) 函数的定义放在.c文件,函数的声明放在.h文件
2) 如果要使用某个.c文件中定义的函数,只需要#include这个.c文件对应的.h文件
3) .h文件的作用:只存储函数声明,被别人调用,编译链接的时候不需要关注.h文件