五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(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ó)家法律
梓潼县| 乐至县| 南安市| 石狮市| 北碚区| 宁远县| 永平县| 柳江县| 梁平县| 琼海市| 黄梅县| 竹山县| 大悟县| 郯城县| 休宁县| 蓝山县| 阳原县| 汤原县| 蒙阴县| 弥勒县| 井冈山市| 县级市| 长垣县| 舞阳县| 武平县| 清丰县| 如东县| 通河县| 卓资县| 泸水县| 永新县| 鄱阳县| 巨野县| 武邑县| 雅江县| 阿尔山市| 理塘县| 德钦县| 志丹县| 克山县| 屏东县|