6.预处理器
1.不能忽视宏定义中的空格:
#include <stdio.h> #define ADD(x, y) (x + y) int main() { int a = 3; int b = 5; int result = ADD(a, b); // 注意空格的位置 printf("Result: %d\n", result); return 0; }
2.宏并不是函数:
#include <stdio.h> #define SQUARE(x) (x * x) int main() { int num = 5; int square = SQUARE(num); printf("Square: %d\n", square); return 0; }
3.宏并不是语句:
#include <stdio.h> #define DEBUG_MODE // 定义宏以启用调试模式 int main() { printf("This is a normal statement.\n"); #ifdef DEBUG_MODE // 如果debug模式已定义,则执行调试语句 printf("This is a debug statement.\n"); #endif return 0; }
4.宏并不是类型定义:
#include <stdio.h> #define MY_INT int // 定义宏替代int关键字 int main() { MY_INT num = 10; // 使用宏定义的自定义类型 printf("Number: %d\n", num); return 0; }
5.#define和typedef的区别:
#include <stdio.h> #define MY_INT int // 定义宏替代int关键字 int main() { MY_INT num = 10; // 使用宏定义的自定义类型 printf("Number: %d\n", num); return 0; }
这些示例代码展示了每个概念在C语言中的应用。它们可以帮助你理解宏定义、类型定义和预处理器的特性、使用方法和注意事项。
推荐一个零声学院免费教程,个人觉得老师讲得不错, 服务器课程