#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