#include
using
namespace
std;
int main()
; int b[2][10]=, };
//陣列名本身就是指標,再加上&,就變成了雙指標,這裡的雙指標的就是指二維陣列
int *p = (int *)(&a + 1);//p指向a陣列的第6個元素(雖然不存在)!!!!
cout
<<*(p-1)cout
<<*b[1]cout
<<*b[0]return
0;}
結果:
561
process returned 0 (0x0) execution time : 0.224 s
press any key to continue.
陣列名本身就是指標,再加上&,就變成了雙指標,這裡的雙指標的就是指二維陣列,加1,就是陣列整體加1行!!!!!,將a和b陣列結合起來仔細體會。
就像一艘船按序排列有1,2,3,4,5個座位,&a+1的意思是我要坐下一艘船的1號座位,而不是這艘船本身的座位。
陣列名與指標
引言 指標是c c 語言的特色,而陣列名與指標有太多的相似,甚至很多時候,陣列名可以作為指標使用。於是乎,很多程式設計者就被搞糊塗了。而許多的大學老師,他們在c語言的教學過程中也錯誤得給學生講解 陣列名就是指標 很幸運,我的大學老師就是其中之一。時至今日,我日復一日地進行著c c 專案的開發,而身邊...
陣列名與指標
在本科畢業前,一直以為陣列名就是指標,但是最近看了一些技術文章和與一些技術大佬的討論,我開始迷茫了,在心裡一直有疑問,在本科寫程式的時候一直就拿陣列名當指標用啊,沒什麼問題啊,但是後來想了想,有了點靈感,就寫下來,不知道自己琢磨的是否通透,歡迎交流學習。首先說明陣列名為什麼不是指標 上例子 incl...
陣列名與指標
注意使用上的區別 陣列名相當於指標常量。指標則根據宣告可以為指標變數。也就是說,指標變數的值可以改變,陣列名指向位址不可能改變。注意執行時的區別 char p hello world char a hello world 這兩句話執行效果看上去差不多,但執行方式則有很大區別 p本身佔據4位元組的記憶...