天天看点

iOS开发学习之C语言---C08 高级指针-12

//

//  main.m

//  C08 高级指针-2

//

//  Created by 康亮亮 on 15/10/16.

//  Copyright (c) 2015年 Darling.com. All rights reserved.

//

#import <Foundation/Foundation.h>

#pragma mark 普通宏

#define kMax 33 // 宏定义: 在程序中,只要遇到了kMax, 在编译之前会自动替换为后边的数

#define SUM(A,B) ((A)*(B)) // 带参宏: 只是将参数原样替换,所以一般情况下,要在表示参数的字符上,添加小括号,防止出现运算符优先级问题

int main(int argc, const char * argv[]) {

    // 使用无参宏(没有参数的宏)kMax

    int a = 20 * kMax;

    printf("%d\n", a);

    // 使用带参宏

    int b = SUM(a, 2);

    printf("%d\n", b);

#pragma mark 条件编译指令

    // 第一种形式:如果定义了标示符,则编译第一段代码,否则编译第二段代码

    //#ifdef kMax

    //    printf("定义过了\n");

    //#else

    //    printf("没有定义\n");

    //#endif

    // 第二种形式:如果没有定义标示符,则编译代码一,否则编译代码二

    //#ifndef kMax

    //    printf("没有定义kMax\n");

    //#else

    //    printf("已经定义过了kMax\n");

    //#endif

    // 第三种形式:如果常量表达式结果非0,编译器编译代码一,否则编译代码二

#if 2

    printf("常量表达式非零\n");

#else

    printf("常量表达式为零\n");

#endif

    return 0;

}

继续阅读