countof巨集應用

2021-06-17 17:42:48 字數 755 閱讀 7757

在msdn上面查到乙個巨集_countof,很好用,作用是可以直接返回靜態陣列的元素個數。

msdn上這麼介紹這個巨集的:

_countof巨集:計算靜態陣列元素的個數。

用法:_countof(array);

所需標頭檔案:

示例如下:

#define _unicode

#include

#include

#include

int main( void )

在vs2005上面輸出結果如下:

sizeof(arr) = 40 bytes

_countof(arr) = 20 elements

如果遮蔽掉#define _unicode 這句,那麼輸出結果又是:
sizeof(arr) = 20 bytes

_countof(arr) = 20 elements

其定義如下:
/*

_countof helper 

*/#if

!defined(_countof)

#if!defined(__cplusplus)

#define

_countof(_array) (sizeof(_array) / sizeof(_array[0]))

#else

extern

"c++

"#endif

#endif

C巨集高階應用之

在巨集定義中經常看到 和 現在講一下他們的用法 1,是連線符 用於將兩個引數連線在一起 例如 define a x,y x y 則 a he llo 結果是hello define link a my a 則 link god 相當於 mygod 是一種分隔連線方式 他的作用是先分隔 然後強制連線 ...

巨集定義的簡單應用

三目運算的巨集定義 注意括號的使用,巨集定義只是簡單的引數傳遞,並不負責運算 define mymax a,b a b a b 獲取字串的長度的巨集定義 x為字串,可以通過改變量字1的大小來改變所要擷取字元 串的長度 define subtoindex x x substringtoindex 1 ...

C 應用 debug控制巨集 巨集可變變數

這個網上還是有很多資料的,但是有的時候想找去找不到,自己記錄一下。方便下次查詢。通過控制巨集定義debug 來控制gui debug的定義方式。如下 define debug 1 ifdef debug define gui debug format,value printf s,05d t for...