欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
數組名和數組名取地址&
[打印本頁]
作者:
piaolin
時間:
2015-10-29 22:45
標題:
數組名和數組名取地址&
在C中,
在幾乎所有使用數組的表達式中,數組名的值是個指針常量
,也就是數組第一個元素的地址。 它的類型取決于數組元素的類型: 如果它們是int類型,那么數組名的類型就是“指向int的常量指針“。
在以下兩種場合下,數組名并不是用指針常量來表示,就是當數組名作為sizeof操作符和單目操作符&的操作數時。 sizeof返回整個數組的長度,而不是指向數組的指針的長度。 取一個數組名的地址所產生的是一個指向數組的指針,而不是一個指向某個指針常量的指針。
所以&a后返回的指針便是指向數組的指針
,跟a在指針的類型上是有區別的。
請看下面的例子:
從以上輸出我們可以看出:數組名和數組名取地址在數值上是相同的,均表示數組第一個元素的地址。但是二者的顆粒度不同。
當數組是
一維數組
時,
數組名是以一個數組元素為顆粒度,表現為“當數組名加1時,這里的1表示一個數組元素單元”,例子中的數組元素為整數,所以數組名加1時地址加4
;而
數組名取地址&以整個數組為顆粒度,表現為“當數組名取地址&加1時,這里的1是表示整個數組單元”,例子中的數組為有5個元素的整型數組,所以數組名取地址&加1時,地址加20.
當數組是
二維數組
時,數組名array、array[0]、&array[0][0]以及數組名取地址&在數值上是相同的,同樣各個之間的顆粒度不同。其中
array[0]以及 &array[0][0] 的顆粒度相同,均是以一個數組元素為顆粒度,所以它們加1后,地址加4
;而
數組名和數組名取地址&顆粒度不同,前者以一行元素為顆粒度,后者以整個數組單元為顆粒度,所以前者加1,地址加3*4,后者加1,地址加6*4.
作者:
nnoobbee
時間:
2015-11-1 00:18
這種東西還是看靠譜的書或者標準的文檔吧。。。這種二手的資料自己理解沒問題,說的對倒也還好,萬一出了錯那真是會害人的
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1