1樓:
二維陣列,則陣列名相當於指標的指標,*(p+i)則是指向p[i][0]的指標,再+j則偏移到p[i][j]的地址,即*(p+i)+j 等於 &p[i][j];若再*(*(p+i)+j),即為p[i][j]
2樓:幻夢·人生
*是取值符
*p就是對p所存地址位置的訪問
陣列元素a[i][j],*a就是對陣列首地址的訪問,也就是陣列第一個元素的訪問
*(a+2)就是對陣列首地址加2的位置進行訪問,相當於a[2]陣列在記憶體總,實際上是以線性結構進行儲存的。無論1維2維陣列。都是線性結構
也就是說a[0] a[1] a[2] a[3] a[4]都是連續的儲存
所以對指標加減操作能夠準確的對陣列進行操作*(a+2)就能夠準確的定位到陣列的第二個元素
3樓:匿名使用者
p+i是指向a[i],這個p+i是個int*,之後*(p+i),就是int了,然後加上個j就是這個陣列的第j個元素的地址,然後再*(*(p+i)+j)就是aij的值了,大可不必深究,你完全可以自己建個工程然後監視各個段的值,自然就發現其中奧妙所在
PPMI求解釋,C語言問題 求解釋
原始分f詐病量表 21 果斷懶得分析了 親,您繚亂了嗎。沒有給分的 問題 很少有人給回答的 而且你這個也是專業術語 哥只懂一點 加分給解 c語言問題 求解釋 這個scanf函式是用來讀取變數的值得。在c語言當中,float型別的值讀入的時候應該是使用的 f,輸出的時候用的也是f,也就是說,float...
求解釋這個C語言程式,謝謝,求解釋c語言這道題,看不懂程式,解釋一下過程謝謝
o i q n x i 迴圈取p陣列裡第襲x元素到bai陣列最後一個du元素到新的o陣列中其中 q n 指向最後一個元素 zhiq n x 指向要求移動dao的若干元素的第一個位置 一共x個元素要移動 q n x i i迴圈來取x個需要移動的元素for p p n 1 p q p p p x 迴圈,...
簡單c語言問題 linker ,簡單C語言問題 linker error
這種提示是連線錯誤 linker error 一般可執行程式的過程是 源 目標 經過編譯 可執行程式 經過連線 你的問題就出在最後一步。那麼為何出現這樣的問題呢?既然編譯通過,說明你的源程式沒問題。那麼連線出錯由什麼原因引起的呢?一般我們寫程式不可能每個功能自己寫,一些共用的功能 函式 被封裝在庫中...