???????????????C??????????????????????????????????????????????????????豸???????????к??????????????????壬????define????????????????н?C?????????????#define???????????????£??????????????
???????????????????????????滻?????????#define PI 3.1415926?????????????????????д??????????????壬???#define MAX(a??b) ((a) > (b) ? (a) : (b))????????????????o??????????????????????????????????????????????????????????Linux Kernel Code??????????????????Щ??????????????????С??????????????OUT???????????#define????÷??????????£???????????????в??????????????
????1. ???? define ????
??????????????????????????#define MAX 10?????????????????????????MAX???д?????滻?10????????Щ?????????????忴??????const??????????????????????????????#define???????????????????滻?????????????????????
????2. ?? #define ???????????“????”
??????????????????????????#define?????庯??????????????????????????????????????????????????????嵱?????????????????????о????????
???????????????MAX???????
????#define MAX(a??b) ((a) > (b) ? (a) : (b))
??????????巵?????????н????????????????????????????????”????“????????飬????????壿??????
??????????е???????????????????????????e?????????????????????????WHY??????????????
????#define MINUS(a??b) a – b???????????????????????????define??????У???????????????????????????????????????????????????????????????????????????????????? ????????????????????????磺2 * MINUS(a??b) / 4??????????????????????????????????????滻?????????????? 2 * a – b / 4???????????????????????????????? ???????У??????ν????????????????????????????????OK??????#define MINUS(a??b) (a – b)
??????????????????????????????????????
????#define pin int *
????pin a??b;
?????????????????a??b???int????????????????????int *a??b;a??int?????b??int????????????????????typedef????????????????? ??define????????????????
????typedef pin (int *)
????OK???
????TIP????????дcode?????????????????????????????????????д??????????е??ζ?????????
????3. define ????ж??壬??????????????????÷?
????#define A(x) ##x
????#define B(x) #<a href="http://www.jobbole.com/members/chenj0726">@x</a>
????#define C(x) #x
??????????????x=1?????A(1)??1??B(1)??‘1’??C(1)??”1“
????4. define ????ж???
????#define??????ж??ж??壬??????????е????????????????????????????豸?????????о????????????????????????£?
????#define MACRO(arg1??arg2) do {
????test1;
????test2;
????}while(0)
????TIP:?????е??β???????м??
????5. ?????????????????
????????????????#define???????????????#undef
????6. ??ú????????????
??????????£?#ifdef … (#else) … #endif
?????磺
????#ifdef HELLO
????#define WORLD 1
????#else
????#define WORLD 0
????#endif
????7. ??define?????????????????????????????????
???????????????????????????c????п????????????????????????????????????????????????????????????????????????????£?
????#ifndef _HELLO_H_
????#define _HELLO_H_
????...
????//???????
????...
????#endif