/*
1、巨集定義在結構體裡面,只是方便**的閱讀,一般這種情況,大部分是結構體裡面有標誌量,方便閱讀。
2、在結構體裡面定義乙個巨集,在結構體外面也可以定義同樣的巨集,如果兩個巨集的內容不一樣,那麼在使用的地方,哪個巨集近就使用哪個。(編譯會有警告)
巨集就是替換,從上面開始,一直往後面替換。如果巨集新定義了,那麼就使用巨集的新值繼續替換。
*/#include struct testmacro;
void func()
#define macro 20
int main(int argc, char *ar**)
執行結果:
編譯告警:
定義在結構體裡面的巨集
測試 如下 include struct test void func define st define 20 int main int argc,char ar 輸出 1 10 20總結 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...