數(shù)組地址和數(shù)組名的故事

廢話少說直接上題:

eg: ? ?int arry[3][5]={0};

問:arry的數(shù)據(jù)類型是啥?

答:判斷數(shù)據(jù)類型最牛(jian)掰(dan)的方法就是把變量名遮住啦;所以arry的本質(zhì)數(shù)據(jù)類型是int [3][5];但是arry也可以代表為類型int (*)[5],是一個二級指針,且第二個維度是5;

問:int (*ptr) [3][5] ?= & arry;

答:成立; ptr的數(shù)據(jù)類型是int [3][5]類型的指針;ptr解引用得到arry

問:int (*p)[5] = arry;

答:成立;arry 的數(shù)據(jù)類型可以是一個二級指針,其中第二個維度是5,即int [5]類型的指針;

問:int ?*pp =*arry;

答:成立;arry是一個二級指針,解引用得到一個一級指針即一維指針;


幾維數(shù)組名代表的就是幾維指針;

數(shù)組名本質(zhì):(參考:http://tech.163.com/05/0823/11/1RR94CAS00091589.html)

(1)數(shù)組名的內(nèi)涵在于其指代實體是一種數(shù)據(jù)結(jié)構(gòu),這種數(shù)據(jù)結(jié)構(gòu)就是數(shù)組;

(2)數(shù)組名的外延在于其可以轉(zhuǎn)換為指向其指代實體的指針,而且是一個指針常量;

(3)指向數(shù)組的指針則是另外一種變量類型(在WIN32平臺下,長度為4),僅僅意味著數(shù)組的存放地址!

對(3)的理解:數(shù)據(jù)名作為函數(shù)形參時,其全面淪落為一個普通指針!它的貴族身份被剝奪,成了一個地地道道的只擁有4個字節(jié)的平民。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • void* 類型指針:通用變體類型指針;可以不經(jīng)轉(zhuǎn)換,賦給其他指針,函數(shù)指針除外;malloc返回的就是void*...
    冰吉凌閱讀 3,537評論 0 18
  • 指針是C語言中廣泛使用的一種數(shù)據(jù)類型。 運用指針編程是C語言最主要的風格之一。利用指針變量可以表示各種數(shù)據(jù)結(jié)構(gòu); ...
    朱森閱讀 3,624評論 3 44
  • 醉相忘, 何當纏眷; 堪憐寂夜, 疏影話凄涼。 身心空, 提筆撰詞; 覓尋靈感, 繆斯致箴言。 2016/05/2...
    八點心晴閱讀 217評論 0 1
  • 一個夢 昨夜,工地挖出來一個古墓,沒有發(fā)現(xiàn)什么,人很多,突然有個金屬狀小物品落在在一個人衣服里!轉(zhuǎn)眼這個人就消失在...
    公子召閱讀 338評論 4 6
  • 養(yǎng)生這件事一直覺得是老年人才應該關(guān)注的,與我無關(guān),然而現(xiàn)實告訴我,養(yǎng)生這件事還真的不分年齡。 前段日子,連續(xù)幾天吃...
    素己閱讀 1,079評論 2 5

友情鏈接更多精彩內(nèi)容