測試**如下:
#include struct test
;void func()
#define st_define 20
int main(int argc, char *ar**)
輸出:
1=10
20總結:
/*1、巨集定義在結構體裡面,只是方便**的閱讀,一般這種情況,大部分是結構體裡面有標誌量,方便閱讀。
2、在結構體裡面定義乙個巨集,在結構體外面也可以定義同樣的巨集,如果兩個巨集的內容不一樣,那麼在使用的地方,哪個巨集近就使用哪個。
巨集就是替換,從上面開始,一直往後面替換。如果巨集新定義了,那麼就使用巨集的新值繼續替換。
*/
定義在結構體裡面的巨集
1 巨集定義在結構體裡面,只是方便 的閱讀,一般這種情況,大部分是結構體裡面有標誌量,方便閱讀。2 在結構體裡面定義乙個巨集,在結構體外面也可以定義同樣的巨集,如果兩個巨集的內容不一樣,那麼在使用的地方,哪個巨集近就使用哪個。編譯會有警告 巨集就是替換,從上面開始,一直往後面替換。如果巨集新定義了,...
Quagga裡面的巨集定義
以前在看quagga原始碼的時候,被裡面的巨集定義搞殘了,根本看不懂啊,今天再回頭看了2小時多,還是不懂啊,就在要放棄的時候,我按照c語言巨集的定義開始將這個巨集一步步展開,發現居然被我搞定了,不容易。quagga的命令是以巨集來定義的,如zebra的 link detect 命令,是在 zebra...
在結構體中定義巨集定義意義
第一次看見在結構體中有巨集定義,開始有點迷糊,想到該結構是如何儲存的?巨集定義會是不會多次編譯?以下是我看的乙個列子 typedef struct define xcp authorized bit 0x01 uint16 t xcpauthorizedbit 1 define block resp...