假定a為一維陣列,則a的指標訪問方式是什麼

2021-03-11 10:56:42 字數 1878 閱讀 2645

1樓:匿名使用者

一維數bai組的陣列名,在不改

du變其值情zhi況下,可以做指標使用。dao在作為指標時,專a[i]等效於*(a+i)。

也可以單

屬獨定義指標。比如定義a的同型別一維指標p,令p=a;

這樣*(p+i)同樣是訪問a[i]的。

區別是這個p是可以加減的,所以同樣可以p = a+i; 這時*p就是a[i]了。

2樓:匿名使用者

地址是可以進行加減運算的。而且加1的一會自動轉換成加該型別一個變數所佔空間大小,也就是說指向了下一個的地址了。所以應該是*(a+i)表示a[i]

3樓:一之於

是*(a+i),沒有*a(i+1)這種表示方法的

4樓:匿名使用者

#include

int main(void)

;int *p = a;

int i =0;

for (;i<7; i++)

printf("%d \n",*(p+i));

return 0;}輸出

copy的bai結du

果為zhi:dao

0 12 3

4 56

5樓:

p = &a[0];

p+i 是a[i]的指標訪問方式

一維陣列的a[i] a+i算地址,還是指標呢?

6樓:

a+i 與 &a[i] 等效 應當算是地址吧,也可以看做是指標,

有必要區分嗎? 叫你外號,或叫你的大名,你應當知道都是在叫你,一回事嘛

7樓:匿名使用者

通常陣列名錶示其陣列的首地址,相當於如下表示:

int a[2] = ; int *p = a; printf("%d\n",*(p+1));

8樓:匿名使用者

a+i是相對於陣列首地址a的偏移量為i的地址

c語言:關於二維陣列的指標問題, 對於一維陣列來說,陣列a[i]的陣列名a就是陣列首元素的首地址,

9樓:匿名使用者

二維陣列,就是指陣列元素為 陣列 的 一維陣列,就按一維陣列的方式版去理解就可以了。

如:權int a[5][10] ; 可以看成 type b[5] ; type的型別為int [10] ;

陣列a[0],a[1],a[2]。。。都是一維陣列,也就是一維陣列的首地址

對應的指標方式為:*(a+0), *(a+1),*(a+2)....

如有問題,再追問!

10樓:匿名使用者

首先二維數du組是不是可zhi以看成幾個一維陣列dao的結合

比如a[3][4]是不是代表3個一維專陣列,一維陣列的大小是4那麼屬第一個陣列的陣列名是a[0],然後a[0]這個陣列裡面有四個元素分別為,第二個陣列名是a[1],以此類推

二維陣列相當於也是一個陣列,裡面裝的都是一位陣列a[3] = ,這裡的a[0]-a[3]是三個一維陣列,那麼*(a+i)就是a[i],a[i]就是一維陣列名,陣列名是不是就是地址,那麼*(a+i)就是地址,*(a+i)+j 是不是等價於a[i]+j ,a[i]我們剛才說了是一維陣列名,也就是地址,一個地址加上j是不是還是地址呢?*(a+i)+j = &a[i][j]的

一級指標與一維陣列中(a+i)就是&a[i]嗎

11樓:笑年

因為a是陣列

出現a+i的情況時,a就是指向陣列a的首地址

所以a+i就是指向a[i]的地址,所以(a+i)=&a[i]

怎麼用指標的指標指向二維陣列的每個元素

通過二級指標去訪問二維陣列需要先給二級指標分配等同於二維陣列行數的一維陣列指標,然後把二維陣列的每行首地址賦值給對應位置的一維指標上。之後就可以通過二維指標直接訪問了。比如整型二維陣列,先定義int p 然後 根據行數,申請和行數相同的int 指標每個指標指向二維陣列對應行。這樣就可以通過每行的首地...

labview從一維陣列中查詢特定的陣列,返回該數值在陣列中所在的位置,希望能給個程式圖

我這有一個簡單的例子,當在陣列中找到第一個和給定數值相同的數時,返回其在陣列中的位置。若沒找到,返回 1.當從0開始搜尋時,和 搜尋一維陣列 的功能是一樣的。將陣列按照被搜尋陣列的個數來分成若干個子陣列,然後迴圈比較就好了!labview中怎麼給陣列特定位置元素直接賦值 labview中並沒有明確的...

C一維陣列的陣列名錶示元素的地址那麼二位陣列的陣列名有什麼含義呢

同一維陣列,二維陣列名錶示陣列中第一個元素的地址 二維陣列的每一行是一個一維陣列 二維陣列名就是一個指向一維陣列的指標,也可以說是一個指向指標的指標 第一個元素的地址。所謂的 二維陣列 只不過是 陣列的陣列 陣列的元素型別為陣列 而已 一維陣列的陣列名錶示第一個元素的地址那麼二位陣列的陣列名有什麼含...