【C语言】宏定义(# if#ifdef#ifndef)

tech2024-08-13  48

#if #endif

举例: #define XYMZ 1; #if XYMZ …程序1… #else …程序2… #endif 解析: 常量XYMZ为真:执行程序1;常量XYMZ为假:执行程序2

#ifdef #endif

举例: #define XYMZ 1; #ifdef XYMZ …程序1… #else …程序2… #endif 解析: 常量XYMZ被#define过:执行程序1;常量XYMZ没被#define过:执行程序2

#ifndef #endif

举例: #define XYMZ 1; #ifdef XYMZ …程序1… #else …程序2… #endif 解析: 常量XYMZ没被#define过:执行程序1;常量XYMZ被#define过:执行程序2

常见用法

举例: 常见头文件会出现: #ifndef __XYMODULE_H #define __XYMODULE_H …程序… #endif

解析: __XYMODULE_H在理论上是可以自定义的,但必须唯一。命名时一般是头文件名全大写,前后加下划线,并把文件名中的“.”替换成下划线

最新回复(0)