淺析C語言中typeof關(guān)鍵字用法
前言
C語言中 typeof 關(guān)鍵字是用來定義變量數(shù)據(jù)類型的。在linux內(nèi)核源代碼中廣泛使用。
下面是Linux內(nèi)核源代碼中一個關(guān)于typeof實例:
#define min(x, y) ({ \
typeof(x) _min1 = (x); \
typeof(y) _min2 = (y); \
(void) (&_min1 == &_min2); \
_min1 < _min2 ? _min1 : _min2; })
1.當x的類型為是 int 時 _min1變量的數(shù)據(jù)類型則為 int。
2.當x為一個表達式時(例: x = 3-4), _min1變量的數(shù)據(jù)類型為這個表達式結(jié)果的數(shù)據(jù)類型。
.......
3.typeof括號中也可以是函數(shù)
例:
int function(int, int); typeof(function(1. 2)) val;
此時val的數(shù)據(jù)類型為 函數(shù)function(int, int)返回值的數(shù)據(jù)類型 ,即int類型。(注意: typeof并不會執(zhí)行函數(shù)function)。
typeof關(guān)鍵字有點類似與c++中的decltype關(guān)鍵字。
相關(guān)文章
C++中BitSet和Bloom_Filter的實現(xiàn)
本文主要介紹了C++中BitSet和Bloom_Filter的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2025-02-02
Qt串口通信開發(fā)之QSerialPort模塊Qt串口通信接收數(shù)據(jù)不完整的解決方法
這篇文章主要介紹了Qt串口通信開發(fā)之QSerialPort模塊Qt串口通信接收數(shù)據(jù)不完整的解決方法,需要的朋友可以參考下2020-03-03

