如何深入理解并灵活运用C语言预处理宏定义的强大功能?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1427个文字,预计阅读时间需要6分钟。
目录+定义符号+
目录
- 预定义符号
- #define
- #define 定义标识符
- #define 定义宏
- 替换规则
- # 和##
预定义符号
这些预定义符号都是语言内置的
__FILE__ //进行编译的源文件 __LINE__ //文件当前的行号 __DATE__ //文件被编译的日期 __TIME__ //文件被编译的时间 __STDC__ //如果编译器遵循ANSI C,其值为1,否则未定义
VS环境下未定义__STDC__ ,说明Visual Studio并未完全遵循ANSI C。
#define
#define 定义标识符
#define name stuff //名称;内容
#define MAX 1000 #define reg register //为 register这个关键字,创建一个简短的名字 #define do_forever for(;;) //用更形象的符号来替换一种实现 #define CASE break;case //在写case语句的时候自动把 break写上。 // 如果定义的 stuff过长,可以分成几行写,除了最后一行外,每行的后面都加一个反斜杠(续行符)。
本文共计1427个文字,预计阅读时间需要6分钟。
目录+定义符号+
目录
- 预定义符号
- #define
- #define 定义标识符
- #define 定义宏
- 替换规则
- # 和##
预定义符号
这些预定义符号都是语言内置的
__FILE__ //进行编译的源文件 __LINE__ //文件当前的行号 __DATE__ //文件被编译的日期 __TIME__ //文件被编译的时间 __STDC__ //如果编译器遵循ANSI C,其值为1,否则未定义
VS环境下未定义__STDC__ ,说明Visual Studio并未完全遵循ANSI C。
#define
#define 定义标识符
#define name stuff //名称;内容
#define MAX 1000 #define reg register //为 register这个关键字,创建一个简短的名字 #define do_forever for(;;) //用更形象的符号来替换一种实现 #define CASE break;case //在写case语句的时候自动把 break写上。 // 如果定义的 stuff过长,可以分成几行写,除了最后一行外,每行的后面都加一个反斜杠(续行符)。

