#import <stdio.h> #define AGE 10 // 宏名用大写 int main() { int age = AGE; // AGE在编译之前会替换成 10 printf("%d", age); return 0; }在编译器编译之前,代码中的所有AGE会被替换成 10 ,当AGE的值要修改的时候只需要在定义宏的地方修改一次,文件中的所有AGE都会被替换成新的值。
// // main.m // 预处理指令 // // Created by 葬花 桥 on 14-5-18. // Copyright (c) 2014年 itcast. All rights reserved. // #import <stdio.h> #define AGE 10 // 宏名用大写 #define AGE2 AGE+10 // 引用已经定义的宏 int main() { int age = AGE; // AGE在编译之前会替换成 10 int age2 = AGE2; printf("age1=%d\nage2=%d", age, age2); return 0; }
#define SUM(a,b) a+b // 带参数的宏定义
这里的宏SUM带有参数,使用时会替换成这样:
#if defined(SUM) printf("SUM已经被定义!\n"); #endif
#if !defined(SUM) printf("SUM没有被定义!\n"); #endif
#ifdef SUM // 与#if defined(SUM)相同 #endif #ifndef SUM // 与#if !defined(SUM)相同 #endif
---------------------- IOS开发、Android培训、期待与您交流! ---------------------- 详细请查看:www.itheima.com
黑马程序员-C学习笔记之预处理指令,布布扣,bubuko.com
原文地址:http://blog.csdn.net/wangqinqian/article/details/26160569