c求教!定義陣列和指標變數,利用指標變數給陣列賦值後,分別利用陣列名下標法,指標下標法,數

時間 2021-09-11 22:33:34

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

是一維陣列,定義指標變數int p,那麼請問p a與p a的區別是什麼

自我程式設計 在陣列中,陣列名錶示首地址常量。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的寫法是錯的。因...

c語言問題,陣列與指標,C語言陣列和指標的問題

char a computer a指向一個常量字串,常量字串是不能修改的,而你的for迴圈內要修改a指向的這個常量字串,自然要出錯 char a computer 這個a就是個普通陣列了,它的內容是可以改動的,就不會出錯了 因為 a是個指標啊 所以應該賦值賦地址!所以 應該 char a compu...

c 中二維陣列的指標如何定義?

二維陣列的指標就是指標的指標,比如一個int型二維陣列 int array 2 3 指向它的指標就可以定義成 int p 如何使用這個指標呢,就和使用普通二維陣列一樣,比如第一行第二個元素 p 0 1 int a 2 2 a 就是 a 0 0 第一行第一列。a 1 就是 a 0 1 第一行第二列。a...