字符型数组和字符串的传参
函数名(数组名);
递归函数
函数体在定义时调用函数本身
注:1.一定要有结束条件
2.避免深层次的递归
带参宏
1.宏:宏只是代码的替换,能加括号就加括号;
2.带参宏和函数的区别:
1.函数有返回类型、返回值、调用等相关概念,带参宏没有;
2.宏函数时编译的时候加载到程序中,函数是运行时加载到程序中;
3.宏函数会使代码的体积增大,函数不会使代码体积增大;
4.宏函数执行效率高,函数由于调用和传参的过程会占用系统资源开销,执行效率低
一些。
条件编译
#if 条件
#elif 条件
#else
#endif
#ifdef 宏名 如果定义了该宏就加入后续代码
#ifndef 宏名 如果没有定义该宏就加入后续代码
#include <stdio.h> 在系统目录下寻找stdio.h
#include "stdio.h" 在当前目录下寻找stdio.h,如果找不到再到系统目录下找stdio.h
#ifndef __HEAD_H__
#define __HEAD_H__
#endif