關於C語言的問題

時間 2022-03-08 16:20:10

1樓:幸運的何龍

首先int (*pd)[3]=d+1;定義了乙個指標pd,它指向乙個有三個元素的一位陣列,因為有小括號在,所以pd先和*結合,所以它是個陣列指標,d是乙個二維陣列的位址,所以d+1就是將這個指標向下移動一行的距離也就是第一行的位址(從第0行開始算),所以這段**的意思就是定義乙個陣列指標指向d[2][3]陣列的第一行,也就等於d[1](也等於&d[1][0])。

所以,pd[0]也就是陣列第一行的位址

pd[0][0]就是第一行第0個資料本身

2樓:愛笑的

(*pd)[3] 即是指標陣列.

比如你只是定義了int *pd那麼pd本身就可以用來作為乙個一維陣列的頭(沒指定長度的).

那麼(*pd)[3]就相當於pd[3],即沒指定x長度,但指定了y長度為3的二維陣列.

3樓:程建星

pd[0]就是指向二維陣列(陣列的列為三列)的指標,則pd[n]=pd[0]+3*n*sizeof(int); pd[0][0]就是指標所指向的值,則p[n][m]=*(p[n]+m*sizeof(int));

4樓:

pd[0]指向的是這個陣列,那麼pd[0][0]指向的是3

5樓:匿名使用者

指標陣列pd的3個指標對應d+1陣列的3個元素

關於c語言的問題,關於C語言的問題

鷹弈 1 有定義 int n 0,p n,q p 則以下選項中,正確的賦值語句是 d a.p 1 b.q 2 c.q p d.p 5 解 p為一級指標,其中p為指標的地址,q為二級指標,其中 q為指標的地址,只能給變數或指標變數賦值,不能給地址賦值,所謂地址,就是由acs碼構成,簡單的說,就是每個人...

關於C語言的簡單問題,關於C語言的6個問題

void的意思是空。main 其實是縮寫,寫全是int main 意思是函式又返回值。函式結束都會有return 0。意思是如果返回了乙個值,值等於0,那麼這個函式是能編譯的。因為如果返回了0,說明函式能執行完。有些時候你會發現後面並沒有return 0,那也只是省略了,但實質是有的。void ma...

有些關於C語言的問題,C語言報錯的問題?

1 以下選項中屬於c語言的資料型別是 a.複合型 b.雙精度型 c.邏輯型 d.集合型 b正確2 以下說法中正確的是 a.c語言程式總是從第一個的函式開始執行 b.在c語言程式中,要呼叫的函式必須在main 函式中定義 c.c語言程式總是從main 函式開始執行 d.c語言程式中的main 函式必須...