下面列出的特性未必奇怪,有的算是有趣。
1)a[2] 等價于 2[a]
"aabbccdd"[5] 等價于 5["aabbccdd"]
這條特性可以用于使用數(shù)組、指針、字符串,但不能用在變量定義時。K&R C Programming language 217頁對此有介紹。
2)二元、三元復(fù)合字符
http://en.wikipedia.org/wiki/Digraphs_and_trigraphs
字符串字面值??!將被認(rèn)為是|,所以兩個問號同時出現(xiàn)在字符串的時候一定要小心。二元復(fù)合字符在C99被引入,如<:等價于[
3)Duff's Device
http://en.wikipedia.org/wiki/Duff%27s_device
特點是switch與while交錯出現(xiàn)。代碼類似
4)同名同姓現(xiàn)象
在《C陷阱與缺陷》中有詳細解釋。
5)a[i++]= i;
這個好像是依賴特定編譯器實現(xiàn),我在Xcode實驗結(jié)果為先對a[i]賦值i,然后操作i++。此類代碼一定要小心。如果你在做code review發(fā)現(xiàn)++ 主站蜘蛛池模板: 珠海市| 易门县| 西昌市| 杭锦后旗| 铜梁县| 灵山县| 晋宁县| 洱源县| 宝丰县| 合作市| 海林市| 色达县| 长垣县| 岳阳市| 双流县| 赣州市| 阳江市| 涪陵区| 乳源| 黄山市| 九江市| 霸州市| 巫山县| 呼伦贝尔市| 临泽县| 江北区| 大丰市| 石林| 湖州市| 临夏县| 恭城| 保定市| 平昌县| 筠连县| 大英县| 大足县| 临城县| 宜宾市| 卓资县| 调兵山市| 临湘市|