陣列名與指標

2021-07-05 13:02:38 字數 601 閱讀 1834

#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位元組的記憶...