C语言—函数(function)函数定义、函数声明、函数调用!

转载:c语言 头文件可以定义的函数吗_C语言—函数(function)函数定义、函数声明、函数调用!..._weixin_39900180的博客-CSDN博客

函数

作用:提高代码复用率,提高程序模块组织性。

分类:系统库函数,标准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
", ret);    //return 0; //返回给调用者(启动例程)    exit(0); //结束程序}
 //函数定义int test(int a, char ch);{    printf("a = %d
", a);    printf("ch = %d
", 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 · 头文件

#include " head.h";

▼往期精彩回顾▼

C语言—创建function并使用初始化arr

C语言—指针(pointer)and 内存单元使用!

C语言——数组的定义和初始化

原文地址:https://www.cnblogs.com/huixinquan/p/14745421.html