- 相關(guān)推薦
在C語言中什么是指針和數(shù)組等價(jià)
在C語言中對數(shù)組和指針的困惑多數(shù)都來自這句話,
在C語言中什么是指針和數(shù)組等價(jià)
。說數(shù)組和指針“等價(jià)”不表示它們相同, 甚至也不能互換。它的意思是說數(shù)組和指針的算法定義可以用指針方便的訪問數(shù)組或者模擬數(shù)組。特別地,等價(jià)的基礎(chǔ)來自這個關(guān)鍵定義:
一個T 的數(shù)組類型的左值如果出現(xiàn)在表達(dá)式中會蛻變?yōu)橐粋指向數(shù)組第一個成員的指針(除了三種例外情況); 結(jié)果指針的類型是T的指針。
這就是說, 一旦數(shù)組出現(xiàn)在表達(dá)式中, 編譯器會隱式地生成一個指向數(shù)組第一個成員地指針, 就像程序員寫出了&a[0] 一樣,
資料共享平臺
《在C語言中什么是指針和數(shù)組等價(jià)》(http://www.ishadingyu.com)。例外的情況是, 數(shù)組為sizeof 或&操作符的操作數(shù), 或者為字符數(shù)組的字符串初始值。作為這個這個定義的后果, 編譯器并那么不嚴(yán)格區(qū)分?jǐn)?shù)組下標(biāo)操作符和指針。在形如a[i] 的表達(dá)式中, 根據(jù)上邊的規(guī)則, 數(shù)組蛻化為指針然后按照指針變量的方式如p[i] 那樣尋址, 如問題6.2 所述, 盡管最終的內(nèi)存訪問并不一樣。如果你把數(shù)組地址賦給指針:
p = a;
那么p[3] 和a[3] 將會訪問同樣的成員。
【在C語言中什么是指針和數(shù)組等價(jià)】相關(guān)文章:
畢業(yè)留言中文短句09-17
愛國名言中國06-25
C/C++筆試題目大全08-22
茄子和什么食物相克10-02
牛肉和什么食物相克07-17
蝦和什么食物相克06-17
提子和什么不能共吃08-07
考研高等數(shù)學(xué)強(qiáng)化:等價(jià)無窮小替換06-10
高中好朋友畢業(yè)留言中文10-08
調(diào)檔需要什么材料和方法09-26