問乙個關於陣列指標的問題,蝦會把你指向它

發布 科技 2024-06-09
9個回答
  1. 匿名使用者2024-01-29

    int (*p)[10];

    其中 sizeof(*p) 是 10 ints 的大小,即 40double* (p)[10][10];

    Sizeof(*p) 是 10*10 指標的大小,指標的大小與 CPU 位的長度有關,32 位機器的大小是 4*10*10 400

    64位機 8*10*10 800

  2. 匿名使用者2024-01-28

    int(*p)[10];-p 是指向由 10 個元素組成的一維整數陣列的指標變數。

    p 是一維陣列。

    sizeof(*p) 為 40

    double* (p)[10][10];-p 是乙個指標變數,指向由 10*10 個元素組成的二維雙指標陣列。

    p 是二維陣列。

    sizeof(*p) 為 400

  3. 匿名使用者2024-01-27

    sizeof(*p) 通常為 40,根據編譯器的不同,int 的長度為 4,(double *) 或其他指標的長度通常為 4

  4. 匿名使用者2024-01-26

    p 是陣列的第乙個元素,sizeof(*p) 是 40,是 10 個指標的位元組大小。

  5. 匿名使用者2024-01-25

    右。 陣列指標是指源炊具傳送到陣列位址的指標,其本質是乙個指標; 指標陣列是乙個陣列,其中陣列的元素是乙個指標(例如 int *p[4],它定義了三個指標:p[0]、p[1]、p[2] 和 p[3],它本質上是乙個陣列。 在某些情況下,陣列指標的使用類似於指標陣列,請務必注意其中的區別。

    p 是乙個指標變數,它指向乙個包含 4 個 int 元素的一維陣列,其中 p 的增量是它指向的一維陣列長度的 hail。

    p+i) 是一維陣列 a[i][0] 的位址;*(p+2)+3 表示 a[2][3] 位址(第一行為 0 行,第一列為 0 列),*p+2)+3) 是 a[2][3] 的值。

  6. 匿名使用者2024-01-24

    a[10] 的陣列在記憶體中乙個接乙個,下乙個 a[0] 是 a[1]p1=a 指向 a 的第乙個位址,即 a[0],p++ 可以指向下乙個位址,即 a[1]。

    p2)[10] 是乙個指標陣列,每個成員指向陣列 A 的每個成員,並且指標被分配了乙個迴圈。

    char i=0;

    while(i<=10)p2[i]=a[i++]

    只需使用 *p2[2]。

  7. 匿名使用者2024-01-23

    兩者都是指標,但指向完全不同型別的資料。

    p1 指向乙個整數,這很容易理解。

    p2 指向長度為 10 的陣列。

    p1 = a 完全沒問題。

    p2 = a 實際上是一種自動型別轉換,通常帶有警告(它甚至在某些編譯器上不起作用)。

    雖然 p1 = a 和 p2 = a,但 *p1 是整數,*p2 是陣列的位址(在本例中為 a);

    p1++ 將 p1 指向 a[0] 後面的整數。

    而 p2++ 將是 p2 之後指向 a 的陣列。

    指向 p2 等陣列的指標通常用於二維陣列。

    例如:b[3][10];

    則 p2 = b, *p, *p+1), p+2) 分別為 b[0]、b[1]、b[2]。

    P++ 允許您遍歷這些長度為 10 的陣列。

  8. 匿名使用者2024-01-22

    P1 可以指向任意長度的陣列,而 P2 只能指向長度為 10 的陣列,兩者在引用資料時都可以以 P[I] 或 *(P+I) 的形式使用。

  9. 匿名使用者2024-01-21

    指標陣列也是乙個陣列,陣列名稱表示第乙個元素的位址。

    不同的是兩個元素不同,int 陣列的每個元素都是 int 型別,陣列名稱對應第乙個元素的位址,自然是 int* 型別。

    和指標陣列,例如 int *a[10]; 每個元素的型別都是 int*,陣列的名稱對應於第乙個元素的位址,自然是 int** 型別。

    int * 是指向 int 型別數字位址的指標。

    int** 是指向指標變數位址的指標。

    可以看出,它們都指向位址,並且金鑰位址中的內容不同。 因此,在取值時,第乙個只需要乙個 * 即可得到位址的相應值。 第二個需要 2*。

相關回答
20個回答2024-06-09

首先我想解釋一下:陣列名稱是乙個指標,它指向儲存陣列元素的一段記憶體,那麼陣列元素是如何引用的,我給大家舉個例子。 例如,a[3],編譯系統將首先找到陣列的第乙個位址,即a,然後根據中的值確定位址偏移量,即3,從而確定要引用的元素是位址a+3所指向的單元的內容。 >>>More

9個回答2024-06-09

第乙個和第二個沒有區別,(p 本身)是乙個 int* 陣列,這個陣列的大小為 5,陣列的每個元素都是 int*(指向整數變數的指標)型別。 >>>More

23個回答2024-06-09

解開:; 假設一袋玉公尺原本重 x 公斤,根據等式的問題: >>>More

22個回答2024-06-09

陣列和指標之間的區別:

陣列名稱確實表示指向陣列第乙個位址的指標,但是這個指標很特殊,它的值(指標的值是指標指向的位址)不能被覆蓋,只能覆蓋它指向的內容,換句話說,陣列名稱只能指向陣列的第乙個位址, 如果有陣列 char a;那麼如果 a = a+1; 這是乙個甚至無法編譯的錯誤。 對於普通指標,例如,可能有乙個陣列 char a; 然後定義乙個字元 *p = a; 然後使用 p = p+1 是有效的,這意味著指標 p 指向 &a[1]。 >>>More

45個回答2024-06-09

如果你有乙個基礎速度x,那麼小鵬的速度是3x,小軍的速度是5x,那麼有乙個小紅速度5x:y=2:5,那麼就有y= >>>More