返回首页

C语言 预处理指令

C语言 05/06 阅读 15 views次 人气 0
摘要:

C预处理器不是编译器的组成部分,但是它是编译过程中一个单独的步骤。简言之,C 预处理器只不过是一个文本替换工具而已,它们会指示编译器在实际编译之前完成所需的预处理。我们将把 C 预处理器(C Preprocessor)简写为 CPP。

预处理指令.png

预定义宏.png


代码实例:

#include <stdio.h>

#define MAX_ARRAY_LENGTH 20

#define FILE_SIZE 84
#undef  FILE_SIZE
#define FILE_SIZE 42

#ifndef DOMAIN
#define DOMAIN "www.ccc611.com"
#endif

//defined() 运算符
#if !defined (MESSAGE)
#define MESSAGE "www.ccc611.com~!"
#endif

//标记粘贴运算符(##)
#define pasterToken(n) printf("token" #n " = %d\n", token##n)

//参数化的宏
#define MAX(x,y) ((x) > (y) ? (x) : (y))

/**
 主函数
 @param argc argc description
 @param argv argv description
 @return return value description
 */
int main(int argc,const char* argv[]){
    printf("%d\n",MAX_ARRAY_LENGTH);
    printf("%d\n",FILE_SIZE);
    printf("%s\n",DOMAIN);
    
    //字符串常量化运算符(#)和标记粘贴运算符(##)。
    int token34 = 40;
    pasterToken(34);
    
    printf("%s\n", MESSAGE);
    printf("Max between 20 and 10 is %d\n", MAX(10, 20));
    
    printf("File :%s\n", __FILE__ );
    printf("Date :%s\n", __DATE__ );
    printf("Time :%s\n", __TIME__ );
    printf("Line :%d\n", __LINE__ );
    printf("ANSI :%d\n", __STDC__ );
    
    return 0;
}


评论

分享到:

返回首页