1樓:匿名使用者
//滿意麼?
#include
using namespace std;
int main()
;int *p_ab = ab;
for(int i = 0; i < 10; i++) //陣列名下標法
cout< cout< for(int i = 0; i < 10; i++) //指標下標法 cout<< p_ab[i]; cout< for(int i = 0; i < 10; i++) //陣列名+整數指標法 cout<< *(ab+ i); cout< for(int i = 0; i < 10; i++) //指標+整數指標法來顯示該陣列 cout<< *(p_ab + i); cout< return 0;} 2樓:匿名使用者 樓上有具體例子; 我來說一下該問題的本質; 首先,樓主要知道:指標就是地址;地址就是指標; 其次,陣列名是該陣列的首地址;毫無疑問,它也是個指標;而且相當於是個指標常量(即永遠指向該陣列,不可對它賦值); 所以,用陣列名和用指標訪問陣列本質是一樣的; 最後,也是最關鍵的樓主只要知道以下知識點,可以秒殺一切該類問題: 當我們用一個陣列名+數字來訪問某一塊記憶體中的資料時,如:a[ 2 ]; 編譯器是這樣編譯的:a[ 2 ] == *( a+2 ); 那麼,樓主,你說這兩種訪問陣列的方式本質上是不是一樣的呢? 3樓:匿名使用者 int a[10] = ; int *p = a; a[0] = 1; *p = 2; //a[0] = 2 *(p + 1) = 3; //a[1] = 3 自我程式設計 在陣列中,陣列名錶示首地址常量。a等同於 a 0 所以p a。就是p指向a首地址。p a是錯的,a已經是地址裡。可以寫p a 0 天天向上知識店鋪 如果已定義int a 5 定義指標變數int p,那麼請問p a這意思是p指標指向a陣列的首地址,相當於p a 0 p a的寫法是錯的。因... char a computer a指向一個常量字串,常量字串是不能修改的,而你的for迴圈內要修改a指向的這個常量字串,自然要出錯 char a computer 這個a就是個普通陣列了,它的內容是可以改動的,就不會出錯了 因為 a是個指標啊 所以應該賦值賦地址!所以 應該 char a compu... 二維陣列的指標就是指標的指標,比如一個int型二維陣列 int array 2 3 指向它的指標就可以定義成 int p 如何使用這個指標呢,就和使用普通二維陣列一樣,比如第一行第二個元素 p 0 1 int a 2 2 a 就是 a 0 0 第一行第一列。a 1 就是 a 0 1 第一行第二列。a...是一維陣列,定義指標變數int p,那麼請問p a與p a的區別是什麼
c語言問題,陣列與指標,C語言陣列和指標的問題
c 中二維陣列的指標如何定義?