C語言 C語言之列舉定義和巨集定義的技巧1

2021-07-30 17:27:20 字數 773 閱讀 6748

**例舉如下:

typedef enum  memp_t;
等同於

typedef enum  memp_t;

**解析:

1、#define mempool(name,num,size,desc)  memp_##name,

將mempool(name,num,size,desc)代替為memp_##name

例如"memp_std.h"檔案裡面包含如下的**;

mempool(raw_pcb,        memp_num_raw_pcb,         sizeof(struct raw_pcb),        "123")

mempool(udp_pcb, memp_num_udp_pcb, sizeof(struct udp_pcb), "456")

mempool(reassdata, memp_num_reassdata, sizeof(struct ip_reassdata), "789")

全部替換成

memp_raw_pcb,

memp_udp_pcb,

memp_reassdata,

2、列舉最後乙個列舉元素一般寫該列舉的總數量。

C語言之巨集定義

巨集定義是c提供的三種預處理功能的其中一種,這三種預處理包括 巨集定義 檔案包含 條件編譯。1.不帶引數的巨集定義 巨集定義又稱為巨集代換 巨集替換,簡稱 巨集 格式 define 識別符號 字串 其中的識別符號就是所謂的符號常量,也稱為 巨集名 字串可以是常數 表示式 格式串等。在編譯預處理時,對...

C語言之巨集定義

昨天看到一道題,是關於巨集定義的,感覺巨集定義掌握的不太好,今天再複習一遍。巨集定義是在 翻譯成0和1之前執行,所以巨集定義比函式的效率高 一 不帶引數巨集定義 格式 define 巨集名 值 注意 巨集名一般用大寫或者以k開頭 巨集名用在字串中會失效 從巨集定義那一行有效,一直到檔案結束,或者遇到...

C語言巨集定義和巨集定義函式

c語言巨集定義和巨集定義函式 巨集定義可以幫助我們防止出錯,提高 的可移植性和可讀性等。在軟體開發過程中,經常有一些常用或者通用的功能或者 段,這些功能既可以寫成函式,也可以封裝成為巨集定義。那麼究竟是用函式好,還是巨集定義好?這就要求我們對二者進行合理的取捨。我們來看乙個例子,比較兩個數或者表示式...