若有定義intp3則對以下敘述正確的選項是

2021-03-03 20:30:22 字數 2568 閱讀 8344

1樓:聽不清啊

選擇答案c

p是一個指標,它可以指向一個含有3個整型元素的一維陣列。

陣列指標,回指的是數

答組名的指標,即陣列首元素地址的指標。即是指向陣列的指標。例:int (*p)[10]; p即為指向陣列的指標,又稱陣列指標。

陣列指標是指向陣列地址的指標,其本質為指標;

指標陣列是陣列元素為指標的陣列(例如 int *p[3],定義了p[0],p[1],p[2]三個指標),其本質為陣列。

陣列指標的使用在某些情況下與指標陣列很相似,要注意區別。

若有定義:int *p[3];'則以下敘述正確的是 幫我詳細說說為什麼!謝謝~~

2樓:匿名使用者

a的說法

,就bai是p本質上是個陣列

du,只zhi不過陣列中的每個元dao

素都是指標內

b的說法,就是p本質上是容個指標,指標指向一個一維的陣列這種題的話,其實可以先根據運算子的優先順序、結合性,先確定識別符號本質上是一個什麼,然後再去補充

例如,int *p[3],先根據優先順序,等效於*(p[3]),所以p本質上是一個有三個元素的陣列;那麼陣列的每個元素又是什麼呢?是一個指標;那指標指向的又是什麼呢?是指向一個int型的資料;所以整理一下就是p是一個有三個指向int資料的指標的陣列,本質上就是一個陣列

3樓:

int *p[3];'則以下敘述正確bai的是a.定義了一du個指標zhi

陣列daop,該陣列含有三個元素,內每個

容元素都是基型別為int的指標

與b.定義了一個可指向一維陣列的指標變數p,所指一維陣列具有三個int型別元素

敘述吻合的是

int (*p)[3];

若有定義語句:int a[2][3],*p[3]; ,則以下語句中正確的是

4樓:匿名使用者

應該選c。

p是一個指標數

組,它有四個元素,每個都是一個指向int型的指標。

a是一個二維陣列,它的每個元素都是int型的。

a的錯誤是因為p是常量(陣列名都是指標常量),不可以被賦值。而且p和a的型別也不一致。

bcd都是對p的元素賦值,這是可以的,等號右邊應當是一個int型資料的指標(即地址)。c選項中a[1][2]是a的一個元素,是一個int型值,&取了它的地址,所以是正確的。

5樓:匿名使用者

int* p[3]是定義了一個大小為3的陣列指標,也就是定義了三個int型的指標。

p代表指標陣列的首地址,相當一個二維指標。

p[0],p[1],p[2]代表一個int型指標c是對的

若有定義語句:int a[2][3],*p[3],則以下語句正確的是(c)

6樓:匿名使用者

int a[2][3],*p[3];

因為的優先順序比*高所以p是一個陣列,這個陣列存放的是指向整數的指標。

即存放的是一個整數變數的地址。

而&a[1][2]正好是一個整數的地址。

所以p[0]=&a[1][2]正確。

補充回答:

因為dint *p[3];

p是一個陣列,這個陣列存放的是整數指標。

p[1]就是一個整數指標。

但是&a並不是整數指標,它是一個陣列的指標。

7樓:

帶星號證明是指標,賦值時只能給一個地址值,我只知道這了,那你就看a是代表首地址還是首個值

若有定義語句:int a[2][3],*p[3];則下列語句正確的是

8樓:匿名使用者

答案是bai c

解決這類題型du

首先要分清型別。zhi

a錯,雖然 p 的型別是

dao (int **) ,a 的型別是 (int**),但是陣列專名代表的屬地址也不能改變。

b錯,因為 p[0]的型別是 (int *),a 的型別是 (int**)。

c對,p[0] 的型別是 (int*),&a[1][2]的型別也是 (int*)。

d錯,p[1]的型別是 (int*), &a 的型別是 (int***)。

9樓:匿名使用者

應該選c。

p是一個指標陣列,它有四個元素,每個都是一個指向int型的指標。

a是一個二維數

回組,它

答的每個元素都是int型的。

a的錯誤是因為p是常量(陣列名都是指標常量),不可以被賦值。而且p和a的型別也不一致。

bcd都是對p的元素賦值,這是可以的,等號右邊應當是一個int型資料的指標(即地址)。c選項中a[1][2]是a的一個元素,是一個int型值,&取了它的地址,所以是正確的。

10樓:匿名使用者

結論:正確的是c

ap=a;//型別不匹配,不正確

bp[0]=a//型別不匹配,不正確

cp[0]=&a[1][2];//型別匹配,正確dp[1]=&a;//型別不匹配,不正確

若有定義語句int a 5p a,則對a陣列元素的正確引用是什麼Aa B a 2 Cp 5 Da

正確答案是 d a 5 就是a 5 下標越界了 a就是a 0 a 0 2不是對陣列元素的正確引用同理,p 5 就是a 5 下標越界了而 a 2 就是a 2 若定義int a 5 p a 則a選項 抄中,a 5 a 5 是a 5 的地 bai址,a 5 是a 5 本身 但數列中沒有a 5 這個du元素...

若有定義語句 int a 3,b 2,c 1,以下選項中錯誤的賦值表示式是

錯誤的是a 賦值只能賦給變數,不能賦給表示式 正確。賦值語句的物件只能是變數,而不是表示式。若換成a b 3,就對了。對於b,最後的值 a 2,b 2,c 1 對於c,整個語句是個賦值語句,裡面又巢狀了個b 4的賦值語句,所以,最後的結果是a 5,b 4,c 1 對於d,解法同c,a 5,b 4,c...

若有定義intm5,n3則表示式m1,n

答案是 2,定義時的初值沒用,後面的表示式重新賦值。m 1 n 2 返回2 m的值為1,m 2返回 1,m的值被賦值為 1,m 1,返回 2 5,4,7 include stdio.h main 你可以自己抄執行試試,希望對你有幫助。5 4 7 求大神解答int m 5,n 3則表示式 m 1,n ...