C语⾔—函数(function)函数定义、函数声明、函数调⽤!
转载:
函数
作⽤:提⾼代码复⽤率,提⾼程序模块组织性。
分类:系统库函数,标准C库 ·libc
1):必须要引⼊头⽂件#include函数声明
2):根据函数库函数原型,调⽤函数
⽤户⾃定义函数
bubble_sort()  ,  ruprint(),除了需要提供函数原型之外,还需要提供函数实现。
使⽤函数:函数定义、函数声明、函数调⽤
函数定义:函数定义必须包含“函数原型”和函数体。
函数原型:返回值类型 + 函数名 + 形参列表
形参列表:形式参数列表,⼀定包含类型名、形参名。
//加法函数int add(int a, int b)函数体:⼀对{}包裹函数实现int add(int a , nit b){    int ret = a + b;    return 0;}
函数调⽤:包含函数名(实参列表)
实参:(实际参数)在调⽤时,传参必须严格按照形参填充,(参数个数,类型顺序)实现在调⽤时,没有类型指述符。
int m = 20;int n = 34;inr ret = add(m, n);
函数声明:包含函数原型(返回值类型 + 函数名 + 形参列表)
int add(int a, int b);
要求在函数调⽤之前,编译器必须是过函数定义,否则要求函数声明。如果没有函数声明,编译器默认“隐式声明”,编译器认为所有的函数,返回值都是int 可以根据函数调⽤,推断函数原则。
#include内部,包含函数声明。
exit 函数
return 关键字,返回值当前函数调⽤,将返回值返回调⽤者(在底层,会调⽤exit() 函数)。
exit () 函数 : 退出当前程序
函数声明:
//int test(int a, char ch);int test(int, char);    //函数声明的简化写,声明时形参可以省略
//函数调⽤int main(void){    int ret = test(10, 'a');    //test函数调⽤结束,return 给 main    printf("test函数返回:ret = %d\n", ret);    //return 0; //返回给调⽤者(启动例程)    exit(0); //结束程序}
//函数定义int test(int a, char ch);{    printf("a = %d\n", a);    printf("ch = %d\n", ch);    exit(97);  //使⽤#include(stdib.h)}
多⽂件编程
解决⽅案—右键—添加—新建项⽬
多⽂件—右键—设为启动项⽬
头⽂件守卫:为了防⽌头⽂件被重复包含
1):#pragma Once是VS⾃动⽣成的,只应⽤于windows系统
2):#ifndef HEAD_H
#define HEAD_H
头⽂件内容:#include
//宏定义:#define PI 3.14
函数声明:类型定义:#endif
#ifndef _HEAD_H_            //标准引⼊头⽂件#define _HEAD_H_//include 头⽂件#include#include#include#include#include//函数声明int add(int a, int b);int sub(int a, int b);//宏定义#define PI 3.14类型定义:#endif
< > 包裹的是系统库头⽂件
“ ” 包裹的是,⽤户⾃定义头⽂件
// main 函数所在的 C · 头⽂件printf函数原型在什么头文件里
#include " head.h";
▼往期精彩回顾▼
C语⾔—创建function并使⽤初始化arr
C语⾔—指针(pointer)and 内存单元使⽤!C语⾔——数组的定义和初始化