這是一個非常基本的概念。但是,我一般都感到困惑。幫我。數組元素值,元素地址和指針增量
情況1:
對於下面的代碼:
int oneDArray[] = {1,2,3};
cout<<&oneDArray<<endl;
cout<<oneDArray<<endl;
cout<<&oneDArray+1<<endl;
cout<<oneDArray+1<<endl;
輸出是:
0x28fef4
0x28fef4
0x28ff00
0x28fef8
爲什麼會出現在遞增的值的差異?
案例2:
int arr[2][3] = {{1,2,3}, {4,5,6}};
cout<<&arr<<endl;
cout<<arr<<endl;
cout<<*arr<<endl;
cout<<&arr+1<<endl;
cout<<arr+1<<endl;
cout<<*arr+1<<endl;
輸出是:
0x28fee8
0x28fee8
0x28fee8
0x28ff00
0x28fef4
0x28feec
爲什麼輸出相同的ARR & *改編? (它如何在內部工作) 爲什麼遞增值有差異?
你還希望從中得到什麼?數組的名稱已經返回第一個元素的地址。添加名稱試圖使它成爲一個指針並返回地址,但地址仍然相同,但我會說奇怪。你爲什麼做這個? – fayyazkl
非常糟糕的問題 – jondinham
我會對另一個「爲什麼」感興趣:**爲什麼你沒有使用Google或搜索,**或者**爲什麼你沒有仔細閱讀C教程?** – 2012-11-02 06:26:19