IOS开发---C语言-㉑预处理指令:宏定义、条件编译、文件包含

/*

 1.所有的预处理指令都是以#开头

 2.预处理指令分3种
 1> 宏定义
 2> 条件编译

 3> 文件包含

 3.预处理指令在代码翻译成0和1之前执行

 4.预处理的位置是随便写的

 5.预处理指令的作用域:从编写指令的那一行开始,一直到文件结尾,可以用#undef取消宏定义的作用

 6.宏名一般用大写或者以k开头,变量名一般用小写

 */

1.宏定义

练习1:不带参数的宏

#include <stdio.h>
//#define kCount 4
int main()
{
    char *name = "COUNT";    
    printf("%s\n", name);    
    #define COUNT 4    
    int ages[COUNT] = {1, 2, 67, 89};    
    for ( int i = 0; i<COUNT; i++) {
        printf("%d\n", ages[i]);
    }    
    // 从这行开始,COUNT这个宏就失效
     #undef COUNT    
    int a = COUNT;    
    return 0;

}

练习2:带参数的宏

#include <stdio.h>
#define sum(v1, v2) ((v1)+(v2))
//这里写的比较严谨
#define pingfang(a) ((a)*(a))
int main()
{
    // pingfang(5+5) (10*10)
    // pingfang(5+5)
    // pingfang(5+5) (35)
    // pingfang(5+5)/pingfang(2)

    int c = pingfang(5+5)/pingfang(2);

   printf("c is %d\n", c);    
    return 0;
}

2.条件编译

#include <stdio.h>
// 只要写了#if,在最后面必须加上#endif
//#define A 5
int main()
{
//#ifndef A //如果没定义A这个宏
//#ifdef A //如果定义了A这个宏
    printf("哈哈\n");
#endif     
    //int a = 10;
    /*
    if (a == 10)
    {
        printf("a是10\n");
    }
    else if (a == 5)
    {
        printf("a是5\n");
    }
    else
    {
        printf("a其他值\n");
    }*/
    /*     
#if (A == 10)
    printf("a是10\n");
#elif (A == 5)
    printf("a是5\n");
#else
    printf("a其他值\n");
#endif      
     */     
    return 0;
}

3.文件包含


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值