1.条件编译
是一个根据条件编译的预处理指令
2.可以让代码只在满足条件才编译,提高编译效率
3.通用.#if 条件表达式 #elif 条件表达式 #else
与宏定义相关:#ifdef 宏名 表示定义了宏 #ifndef宏名 表示没有定义宏
#endif 结束条件编译,注意一定要加
当一些代码只需要在一定条件编译时
特点:条件编译不能访问需要斌阿姨后才能执行的代码
条件编译不需要大括号,所有加上结束标识,否则涵盖下面所有的代码
条件编译一般跟宏定义配合使用,防止重复包含及交叉包含
2.typedef:是一个C语言的关键字
有什么用:可以给一个数据类型取一个别名,方便使用
怎么用:定义:typedef 类型 别名;
typedef long int lint ;表示给一个long int 类型取一个别名Lint
则:long int a = 5;与Lint a = 5;二者等效
什么时候用:
当希望一个类型取一个别名是(比较类型较复杂等),可以用,方便理解用
特点:定义位置没有限制,函数内外都可以
作用域为定义位置开始至所处作用域结束,类似于变量
可以用于任意数据类型
别名具有数据类型的含义,这是跟宏定义最大区别
4.static与extern:是C语言的关键字
有什么用:控制一个变量或函数的作用域
怎么用:修饰函数:static返回值 函数名(){};表示函数为内部函数只能被文本访问
extern返回值 函数名(){};表示函数为外部函数能被程序所有文件访问
修饰全局变量:static:表示变量只能被当前文件访问.extern:所有文件共享
修饰局部变量:static:表示延长生命周期至程序结束.extern声明一个全局变量
特点:外部函数不同文件中也不能重名,但内部函数可以
同类型全局变量可以重复定义,但在内存中只有一份
可以在函数内声明一个全局变量,但在使用必须在函数外定义,extern只是声明
static修饰定义全局变量,则这个变量生命周期延长至程序结束,但作用域不变 |
|