国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

7.一個(gè)”標(biāo)準(zhǔn)”宏MAX,輸入兩個(gè)參數(shù)并返回較大的一個(gè)(經(jīng)典寫(xiě)法+Linux內(nèi)核寫(xiě)法)

2023-08-23 10:23 作者:踏星赴夢(mèng)  | 我要投稿

1.比較兩個(gè)數(shù)大小返回最大值的經(jīng)典宏寫(xiě)法(注意細(xì)節(jié),要加入括號(hào)):

這種經(jīng)典寫(xiě)法也是有問(wèn)題的:如果傳入的參數(shù)分別是i++和j++,這個(gè)比較大小就會(huì)出錯(cuò),i++和j++在宏展開(kāi)的時(shí)候會(huì)出現(xiàn)在多個(gè)地方,i和j會(huì)自增多次

如:

2.Linux內(nèi)核的實(shí)現(xiàn)方法

在GNU C 語(yǔ)言中,如果知道a和b的類(lèi)型,可以在宏里面定義一個(gè)變量,將a和b分別賦值給變量,然后在進(jìn)行比較:

如果不知道具體的數(shù)據(jù)類(lèi)型,就要使用typeof類(lèi)轉(zhuǎn)換宏,Linux內(nèi)核中的例子如下:

一個(gè)需要注意的問(wèn)題,下述代碼的作用是什么:

(1)首先&_a == &_b 是對(duì)_a和_b取地址進(jìn)行比較,然后得到一個(gè)bool值,在這個(gè)宏之中,大概率是false;

(2)然后對(duì)這個(gè)bool值進(jìn)行強(qiáng)制類(lèi)型轉(zhuǎn)換,也就是對(duì)這個(gè)無(wú)意義的變量進(jìn)行引用操作,消除該變量沒(méi)有被引用的警告;

(3)給出有用的警告:

①兩個(gè)地址相比的bool值沒(méi)有被引用的警告(該警告被(void)object;消除)

②兩個(gè)地址類(lèi)型不一樣,進(jìn)行比較時(shí)Linux會(huì)給出類(lèi)型不一致警告,該警告作為有用警告

(4)要注意,C語(yǔ)言中地址包含兩類(lèi)信息

①物理地址:變量存放在什么地方(位置信息,或者說(shuō)內(nèi)存編號(hào)/純地址)

②地址類(lèi)型:所指向的數(shù)據(jù)的類(lèi)型信息





7.一個(gè)”標(biāo)準(zhǔn)”宏MAX,輸入兩個(gè)參數(shù)并返回較大的一個(gè)(經(jīng)典寫(xiě)法+Linux內(nèi)核寫(xiě)法)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
庄河市| 雅安市| 原阳县| 灌云县| 光泽县| 威远县| 镶黄旗| 洪泽县| 湖南省| 闵行区| 祁连县| 揭阳市| 平安县| 达孜县| 金山区| 祁东县| 河北省| 唐河县| 内江市| 北海市| 仁布县| 吉木乃县| 梅河口市| 邛崃市| 湘潭县| 徐州市| 雅江县| 青川县| 柘城县| 靖安县| 噶尔县| 宜良县| 古丈县| 扶绥县| 望江县| 东山县| 洛阳市| 建湖县| 镇江市| 北宁市| 高陵县|