C语言预处理器(十五)
来源:互联网 发布:oracle自带表数据脚本 编辑:程序博客网 时间:2024/05/22 10:39
#include <stdio.h>#include "MyFile.h"/** #define **///1、反斜线将定义延续到下一行 "\"#define A "My First define is n\ot so ha\rd,And wh\o they'er\n" //My First define is not so hard,And who they'er//2、const 定义全局常量const int b = 20;//3、static 引用 define 作为数组长度#define Num 50static int d[Num];const int f = 2*Num;//错误static int c[b]; //教程说是无效const int e = 2*b; //教程说是无效//4、宏重定义 macro redefined#define Num2 2 * 3#define Num2 2 * 4#define Num2 2*3 //以最后一次定义为准//5、带参数的 define#define Num3(X) 2*X//6、##运算符 把变量名粘合#define Num4(n) x##n//7、有返回值的宏#define MAX(x,y) (x>y?x:y)#define MIN(x,y) (x<y?x:y)/** #undef **/#define DE 10#undef DE //取消宏定义/** 条件编译 #ifdef #ifndef **///1、#ifdef 如果定义了//#define MAVIX#ifdef MAVIX#define HOST "https://www.csdn.com"#else#define HOST "https://www.baidu.com"#endif//2、#ifndef 如果没有定义#ifndef MAVIX#define HOST2 "https://www.csdn.com"#else#define HOST2 "https://www.baidu.com"#endif/** #if #endif **/#define IS_HOST 2#if IS_HOST==1 //如果条件符合#define HOST3 "https://www.csdn.com"#elif IS_HOST==2#define HOST3 "FUCK"#else#define HOST3 "https://www.baidu.com"#endif/** 配合 #if else 使用 #ifdef **///好处是可以配合 if elif else 使用//#define TEST#define TEST2#if defined (TEST)#define PRIF "TEST\n"#elif defined (TEST2)#define PRIF "TEST2\n"#else#define PRIF "FUCK\n"#endif/** 系统宏 **///时间 __TIME__//日期 __DATE__//当前源代码文件名 __FILE__//当前源代码行号整型常量 __LINE__//当前方法名 __func__/** #line **/#line 1000 //把当前行号重置为1000#line 10 "mainn.c" //把行号重置为10,文件名重置为 mainn.c/** #pramar **/#pragma mark - massagevoid codePring();void codePring2();void codePring3();void codePring4();void codePring5();void codePring6();int main(int argc, const char * argv[]){ //#define codePring(); //#undef codePring2(); //条件编译 codePring3(); codePring4(); codePring5(); //系统宏 codePring6(); test2(); a = 1.0; testNum = 10; doit(); doit2(); return 0;}void codePring6(){ printf("TIME==%s TIMESTAMP==%s\n",__TIME__,__TIMESTAMP__); //12:18:50 printf("DATE==%s\n",__DATE__); //May 31 2016 printf("LINE==%d\n",__LINE__); //143 行 printf("FILE==%s\n",__FILE__); ///Users/Apple/Desktop/精华/C/C语言预处理器(十五)/C语言预处理器(十五)/main.c printf("func==%s\n",__func__); //codePring6 当前方法名 (预定义标识符,非预定义宏) printf("FUNCTION==%s\n",__FUNCTION__); //codePring6 当前方法名 printf("amd64==%d\n",__amd64__); //1 当前系统是否支持64位 __amd64 printf("APPLE==%d\n",__APPLE__); //1 当前系统为苹果 printf("VERSION==%ld\n",__STDC_VERSION__); //199901 C99 printf("HOSTED==%d\n",__STDC_HOSTED__); //1 本机环境为1,否则为0}void codePring5(){ printf(PRIF);}void codePring4(){ printf("ISHOST? HOST3==%s\n %s",HOST3,__TIME__); }void codePring3(){ printf("MAVIX? HOST==%s\n",HOST); printf("MAVIX? HOST2==%s\n",HOST2);}void codePring2(){ // printf("DE==%d\n",DE); }void codePring(){ printf("%s\n",A); puts("c==\n"); putchar(c[0]); puts("c end\n"); printf("f==%d e==%d\n",f,e); printf("Num2==%d\n",Num2); printf("Num3==%d\n",Num3(10)); int Num4(1) = 10; // 相当于 x1 = 10 printf("MAX==%f\n",MAX(30, 30.11)); printf("MIN==%f\n",MIN(30, 30.11)); }
0 0
- C语言预处理器(十五)
- C语言预处理器
- C语言-预处理器
- 【C语言】预处理器
- c语言预处理器
- C语言预处理器
- C语言预处理器
- C语言预处理器
- 【C语言】预处理器
- c语言预处理器指令
- C语言预处理器详解
- C语言的预处理器
- C语言再学习 -- C 预处理器
- C 语言预处理器(笔记)
- C语言复习之预处理器
- C语言预处理器的几个命令
- c语言预处理
- C语言预处理指令
- 说说梦想
- 关于ListView的item中包含Button或Checkbox时导致item无法点击问题
- css旋转
- nova api 分析
- Dubbo基础篇--在Linux操作系统上手工部署Dubbo服务
- C语言预处理器(十五)
- 深入浅出JMS(三)--ActiveMQ简单的HelloWorld实例
- Linux下的TCP/IP编程------基于TCP的半关闭
- STM32L152 RTC 日历和定时中断使用
- HDU-1798 Tell me the area (C++和Java【水】两圆相交求公共面积)
- KVC/KVO原理详解及编程指南
- SSM框架搭建及项目实战
- 转载Android 自定义View属性相关细节
- 成功英语演讲的秘诀:开场白、结束语(我们做presentation时不用怕了。总结的真强大)