c語言中有typeof,用來判斷變量的類型,例如
int i;
typeof(i) k;? ?//等價于int k;
//對于struct類型依然可用,例如
struct Sample
{
int i;
int j;
float k;
} ;
struct Sample stA;
typeof(stA) stB;
//那么stA和stB的類型一致,但是卻不能用
if (typeof(stA) == typeof(stB) )這種判斷方式,因為轉(zhuǎn)義過來就是
if (struct Sample == struct Sample) //錯誤
但是gcc中提供了一種內(nèi)置宏 ?__builtin_types_compatible_p?
那么就可以用如下方式來判斷兩者是否一致
if ( __builtin_types_compatible_p (typeof(stA), typeof(stB) == 1)
{
//type same
}else
{
//type wrong
}
參考gcc文檔:
Other Builtins - Using the GNU Compiler Collection (GCC)
你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧
網(wǎng)站名稱:c語言的類型比較-創(chuàng)新互聯(lián)
分享路徑:http://www.rwnh.cn/article4/dohiie.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供手機網(wǎng)站建設、網(wǎng)站設計公司、商城網(wǎng)站、微信小程序、網(wǎng)站導航、做網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)