a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁(yè) > 編程 > C > 正文

C語(yǔ)言中奇怪的C語(yǔ)言特性

2020-02-24 14:36:55
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

本文講述的是C語(yǔ)言中奇怪的C語(yǔ)言特性,下面列出的特性未必奇怪,有的算是有趣,是不是特耐人尋味,不賣弄關(guān)子了,喜歡的朋友一來(lái)來(lái)領(lǐng)略其中的內(nèi)容詳情。

1)a[2] 等價(jià)于 2[a]

"aabbccdd"[5] 等價(jià)于 5["aabbccdd"]

這條特性可以用于使用數(shù)組、指針、字符串,但不能用在變量定義時(shí)。K&R C Programming language 217頁(yè)對(duì)此有介紹。

2)二元、三元復(fù)合字符

http://en.wikipedia.org/wiki/Digraphs_and_trigraphs

字符串字面值??!將被認(rèn)為是|,所以兩個(gè)問(wèn)號(hào)同時(shí)出現(xiàn)在字符串的時(shí)候一定要小心。二元復(fù)合字符在C99被引入,如<:>

3)Duff's Device

http://en.wikipedia.org/wiki/Duff%27s_device

特點(diǎn)是switch與while交錯(cuò)出現(xiàn)。代碼類似

image

4)同名同姓現(xiàn)象

image

在《C陷阱與缺陷》中有詳細(xì)解釋。

5)a[i++]= i;

這個(gè)好像是依賴特定編譯器實(shí)現(xiàn),我在Xcode實(shí)驗(yàn)結(jié)果為先對(duì)a[i]賦值i,然后操作i++。此類代碼一定要小心。如果你在做code review發(fā)現(xiàn)++ –出現(xiàn)在其它表達(dá)式中或者作為參數(shù)出現(xiàn),一定要立刻馬上把它移出來(lái)作為單獨(dú)語(yǔ)句,小心駛得萬(wàn)年船。

6)sizeof

sizeof(x), x可以是一個(gè)表達(dá)式或者類型名,如果是表達(dá)式,不做運(yùn)算,int x = 1; size_t sz = sizeof(x++); X不會(huì)增加。T *p = NULL; p = malloc(sizeof *p); p并沒(méi)有提領(lǐng),K&R圣書(shū)也有講。

sizeof unary-expr; sizeof(typename);一元表達(dá)式可以沒(méi)有括號(hào),圣書(shū)里面語(yǔ)法部分提到。如size_t f = sizeof 99;

7)宏定義要小心

例如:#define FOO(a,b) (a+b)/(1-a)如果這樣調(diào)用FOO(bar++,4),自增兩次,當(dāng)然,把宏展開(kāi)就非常清楚了。

以上就是C語(yǔ)言中奇怪的C語(yǔ)言特性的全部?jī)?nèi)容,如果大家想了解更多相關(guān)內(nèi)容,請(qǐng)持續(xù)關(guān)注本站。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 琪琪午夜伦伦电影福利片 | 欧美在线视频一区二区 | 国产高潮呻吟久久渣男片 | 2019精品手机国产品在线 | 日日摸日日碰夜夜爽亚洲精品蜜乳 | 久久久久无码国产精品一区 | 久草在线资源福利站 | 成人黄色在线视频 | 久久久久国产一级毛片 | 在线播放一区二区三区 | 欧美日韩亚洲视频 | 天天干天天去 | 国产欧美精品区一区二区三区 | 日本不卡免费新一二三区 | 久久精品这里只有精品 | 伊人精品久久久 | 在线一二区 | 欧美一区二区三区免费 | 黑人巨大精品欧美一区二区三区 | 亚洲综合无码一区二区 | 91久久久久久久久久久久久久久久 | www.色综合| 不卡视频一区 | 黄色av网站在线观看 | 亚洲毛片网站 | 特黄aaaaaa裸体视频 | 精品久久久久久久人人人人传媒 | 精品中文在线 | 久久精品久久久久电影 | av中文在线| 国产欧美日韩综合精品一区二区 | 成人免费在线看片 | 在线一区观看 | 污视频网站在线看 | 久久成人精品 | 精品亚洲成a人片在线观看 99在线免费视频 | 激情久久五月天 | 久久久久久久91 | 999久久久免费精品国产 | 色88久久久久高潮综合影院 | 久草精品在线 |