如何深入理解并灵活运用C语言预处理宏定义的强大功能?

2026-04-12 11:280阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1427个文字,预计阅读时间需要6分钟。

如何深入理解并灵活运用C语言预处理宏定义的强大功能?

目录+定义符号+

目录
  • 预定义符号
  • #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分钟。

如何深入理解并灵活运用C语言预处理宏定义的强大功能?

目录+定义符号+

目录
  • 预定义符号
  • #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过长,可以分成几行写,除了最后一行外,每行的后面都加一个反斜杠(续行符)。

阅读全文