1樓:匿名使用者
如果定義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)。
2樓:鍵盤未找到
a.表示&a[1].
b.a[3]
c.&a[1][3]
d.a[0][2]
3樓:匿名使用者
首先呢,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 呢就是第二個元素的地址,*取資料咯。
4樓:一方通通
本題中定義了一個二維陣列c和一個陣列指標p並初始化讓它指向c,顯然此時p中的各元素為地址,
a中p+1,此時的1代表的長度是整個二維陣列c的長度,p+1將讓p指向c陣列後面的元素,故不能引用c陣列中的成員,故選項a錯誤;同理,選項b和選項c都不正確,
d中p[0]+2代表的是第一行第三個元素的地址,而*(p[0]+2)將代表第一行第三個元素的值。
已知定義 int a [4][5],(*p)[5]=a;則對陣列元素正確的引用時:a.p+1 b.*(p+3) c.*(p+1)+3 d.*(*p+2)
5樓:匿名使用者
教你個簡便的方法。
*(p+i)等價於p[i],反過來也成立。只要把答案試下就知道了。
取地址和顯示內容是兩個相反的操作,可以互相抵消的)
b. *(p+3)=p[3]=a[3]
d. *(*p+2)=*(*(p+0)+2)=*(p[0]+2)=p[0][2]=a[0][2]。選d
6樓:寂寞而莫我知也
d是對的.把a賦值給陣列指標,下標的引用是*(*(p+n)+n) 或者a[n][n] 說的很清楚了
7樓:匿名使用者
d是對的,選擇的是a[0][2],相當於*(*(p+0)+2)
若有定義:int a[5],*p=a; 則對a陣列元素地址正確引用的是( )。 &a[5] p+2 a++ &a 說詳細點謝謝
8樓:
應該是p+2與&a
&a[5]越界,a++語法錯誤,陣列名可看作一個指標常量,不可修改
若有定義:int a[10],*p=a,則*(p+5)表示()
9樓:李修炎
選a ,因為*p=a,這時是把陣列a的首地址傳給了指標p,而陣列的定義是從a[0]開始的,所以p+5表示的是元素a[5]的地址,希望你現在明白了
10樓:匿名使用者
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
11樓:艾薩克
b既然有p = a
那麼 *(p + 5) p[5] *(a + 5) a[5] 都是一樣的
C語言int和float有什麼差別
void 宣告函式無返回值或無引數,宣告無型別指標,顯式丟棄運算結果 char 字元型型別資料,屬於整型資料的一種 int 整型資料,通常為編譯器指定的機器字長 float 單精度浮點型資料,屬於浮點資料的一種 double 雙精度浮點型資料,屬於浮點資料的一種 型別說明符 位元組 數值範圍 字元型...
c語言中的for語句和ni語句,C語言中的for語句和n i 語句
n 這種形式是字尾自增1運算,表示先使用n值,然後n n 1自增1 i這種形式是字首自增1運算,表示先對i進行i i 1自增1,然後再使用i值 如果是單獨執行這樣的語句,兩者沒有區別,如 for i 0 i 輸出0 9 與for n 0 n 輸出0 9 這兩者都會迴圈10次,沒有差別。而下面的語句 ...
c語言若int型別佔兩個位元組,則以下語句輸出為
u 是無符號數,即只有正的。1的原碼取為反碼是65535。2個位元組是16位,取值範圍是0到65535。應該是printf d,u n k,k 選dk你應該賦值了 1,以 d格式自然輸出是 1 關鍵是 u以無符號整型資料輸出,1在記憶體中是以補碼的形式存放的,佔兩個位元組,1的補碼為11.11 16...