数组传递中,形参和实参操作的是同一个数组
1.带参宏
#define PRINTF(x,y,z) do{\
printf("x = %d\n",x);\
printf("y = %d\n",y);\
printf("z = %d\n",z);\
}while(0)
\是连接字符,宏定义只能写成一行,\可以把两行连成一行
带参宏与函数的区别:
1.函数有参数类型、返回值、传参的概念
2.带参宏没有参数类型、返回值、传参的概念
3.带参宏是在程序编译阶段加载到程序中
带参宏可能改变运算符的优先级,记得加括号
4.函数是在程序运行阶段加载到程序中
5.带参宏会使代码体积增大
6.函数不会使代码体积增大
7.带参宏执行效率高
8.函数执行效率低
注:当简短的代码想要封装成模块的代码可以使用带参宏
2.头文件包含
#include <stdio.h>
在预处理阶段将stdio.h头文件展开到文件中
在/usr/include目录下查找stdio.h
#include "stdio.h"
在当前目录下查找stdio.h,如果当前目录找不到则在系统目录/usr/include目录下查找头文件
头文件以.h结尾:
1.头文件中存放宏定义
2.头文件中存放声明的全局变量和全局函数
3.头文件中存放自定义的数据类型
项目工程根据功能划分成不同的文件
最好每个.c文件都有一个.h文件
jisuanqi--------src ----- main.c 主函数的实现
| |--- add.c 加法相关的函数接口的实现
| |--- sub.c 减法相关的函数接口的实现
| |--- mul.c 乘法相关的函数接口的实现
| |--- div.c 除法相关的函数接口的实现
|
|----include ---- add.h add.c中用到的数据类型的定义、宏定义、全局变量的声明、全局函数的声明
|--- sub.h sub.c中用到的数据类型的定义、宏定义、全局变量的声明、全局函数的声明
|--- mul.h mul.c中 用到的数据类型的定义、宏定义、全局变量的声明、全局函数的声明
|--- div.h div.c中用到的数据类型的定义、宏定义、全局变量的声明、全局函数的声明
标签:传参,头文件,定义,递归函数,参宏,数据类型,---,函数 From: https://blog.csdn.net/m0_61965705/article/details/140592887