【无标题】

一.宏定义: 

宏定义是采用原样替换。

#define M 10

#define CALL(x) (x*x)    或    #define CALL() ()                           //

printf("result=%d\n",CALL(M+M));           //  gcc -E 文件名.c -o 文件名.i    (预处理)

                     %d           CALL() 须有结果 

#define TEST 

#define CALC (x) printf(#x"=%d\n",x)                      //  字符串化处理

不定参数宏

                  #define show(fm,...) printf(fm,__VA_ARGS__)          // 保持相同的格式

rm -rf  *.i                     //删除所有的 .i 文件

int main(int argc,char* args[])      //   参数个数           参数内容(以字符串形式出现)(指针数组)

{

        函数体;numi=args[1]-'0';

}

条件编译:   

通常在多文件编译中运用。

#define DEBUG

#if 宏名(0 / 1)      //#ifndef DEBUG     (if no define)

模块一

#else

模块二

#endif

extern int ASD  或    extern void show

联合体

大小  至少是最大成员大小

6666666666666666666         // 7

union Myunion

{

        char a;

        int i;

};

printf("");

枚举   

(整数类型) (若没设置则从  0  开始   依次赋值)

有可读性 维护性     类型检查  更加严谨   (与宏定义相比  可定义多个)

#include <stdio.h>
struct S{
    int a:8;
    int b:4;
    int c:4;
};
int main(){
    struct S s={0};
    printf("%ld\n",sizeof(s));
    return 0;
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值