c語言題若有定義inta9pa則p5表示

2021-05-25 02:18:37 字數 2064 閱讀 6001

1樓:匿名使用者

答案選:b

剛剛看到a[5]就選了

*p=a;指向的就是a[0]

p+5就相當於向後移動5個,就是a[5],表示地址如果是*(p+5),就表示值

2樓:匿名使用者

你好,選b。

int *p = a表示指標p指向陣列a的首地址。也可以說是a[0]的地址。所以p+5指向a[5]的地址

若有定義int a[10],*p=a;,則p+5表示什麼

3樓:匿名使用者

a 是個常量,不能變化,但是p是個指標變數,可以加減,p的加減與p的型別有關,如果p是個int 則,每次加四個位元組,就是int 型的長度,其它的也是相同的。char 每次加一個位元組。

p+5代表第六個數值的地址。即*(p+5)=a[5];

不知道你是否明白,如果不清楚的話,加我好友,咱們共同**

若有定義:int a[10],*p=a,則*(p+5)表示()

4樓:李修炎

選a ,因為*p=a,這時是把陣列a的首地址傳給了指標p,而陣列的定義是從a[0]開始的,所以p+5表示的是元素a[5]的地址,希望你現在明白了

5樓:匿名使用者

b*(p+5)表示p+5這個地址指向抄單元內容,當然是int的,所以不是地址

p=a;的賦值後,p存放的地址就是陣列起始地址也就是陣列元素a[0]的地址,*p可以寫成*(p+0),p[0],相當於a[0]

*(p+5)相當於p[5],a[5],即變數a[5]的內容所以應當選擇b

6樓:艾薩克

b既然有p = a

那麼 *(p + 5) p[5] *(a + 5) a[5] 都是一樣的

c語言若有下列說明和語句:int a[4][5], (*p)[5]; p = a; 則對a陣列元素

7樓:匿名使用者

如果定義int (*p)[n];p1=a;p1++後,p指向a[1][0];

則p+j將指向a[0]陣列中的元素a[0][j]。

由於a[0]、a[1]┅a[m-1]等各個行陣列依次連續儲存,則對於a陣列中的任一元素a[i][j],指標的一般形式如下:

p+i*n+j,相應的如果用p來表示,則為*(p+i)+j;

元素a[i][j]相應的指標表示為:

*( p+i*n+j) ,相應的如果用p1來表示,則為*(*(p+i)+j)。

推出以下的等價關係:

a+i == p+i;

a[i] == p[i] == *(a+i) == *(p+i);

a[i][j] == p[i][j] == *(a[i]+j) == *(p[i]+j) == *(*(a+i)+j) == *(*(p+i)+j)。

8樓:鍵盤未找到

a.表示&a[1].

b.a[3]

c.&a[1][3]

d.a[0][2]

9樓:匿名使用者

首先呢,a是二維陣列,不解釋。

然後呢,p是一個指標,什麼樣的指標呢,就是指向一維陣列的指標,而且這個一維陣列的元素個數呢是5.

然後呢,p=a;就是把p指向a陣列。

分析選項:

a p+1 .因為p是一維陣列指標,所以p每+1就是+1行。錯誤。

b *(p+3)是指第4行的首地址,訪問不到元素。需要再*c *(p+1) + 3 對地址+3 沒啦意義d *(*p+2) *p是第0行首地址 +2 呢就是第二個元素的地址,*取資料咯。

10樓:一方通通

本題中定義了一個二維陣列c和一個陣列指標p並初始化讓它指向c,顯然此時p中的各元素為地址,

a中p+1,此時的1代表的長度是整個二維陣列c的長度,p+1將讓p指向c陣列後面的元素,故不能引用c陣列中的成員,故選項a錯誤;同理,選項b和選項c都不正確,

d中p[0]+2代表的是第一行第三個元素的地址,而*(p[0]+2)將代表第一行第三個元素的值。

大一C語言題目若有定義語句 int a

核心在於p的型別。定義等效於 int p 3 這裡p是一個陣列,包含三個元素,每個元素型別為int 所以a p為陣列名,不可以賦值。b p 0 為int 而a為二維陣列名,等效於int 型別不匹配。c a 1 2 為a的一個元素,型別是int,所以 a 1 2 是int 和p 0 型別相同,所以這個...

C語言 若有定義 int a 7 float x 2 5,y 4 7則表示式x a 3 int x y

按照加減乘除運演算法則及順序,還有結果轉換型別為float,結果為2.5 x a 3 int x y 2 4 x 1 7 2 4 x 1 4 x 若有定義 int a 7 float x 2.5,y 4.7 則表示式x a 3 int x y 2 4的值是 請詳細解答,非常感謝 答案為2.5.這個關...

C語言問題 已有定義int a 101,2,3,4,5,6,7,8,9,10要求通過指標完成從一維陣列中刪除下標為K的元素

兩個問題 1.輸入k之後 要重新將 p 指向 a 即10行前 一句 p a 2.最後一個for越界,i 9 時 p i 1 就成了 p 10 baifor p a p a 10 p 這個迴圈du已經讓p指向zhi了陣列中最後一個元素,所以 for i k i 10 i 在這個迴圈之前應該讓daop重...