<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                # 指針數組 根據[數組的定義](https://mengkang.net/1008.html):同一類型多個元素的集合,所以數組也能存放指針集合。 ```c #include <stdio.h> int main(int argc, char const *argv[]) { int a = 1; int b = 2; int *p[2] = {&a, &b}; printf("a : %p,%d\n", &a, *(&a)); printf("*(p + 0) : %p,%d\n", *(p + 0), *(*(p + 0))); printf("b : %p,%d\n", &b, *(&b)); printf("*(p + 1) : %p,%d\n", *(p + 1), *(*(p + 1))); return 0; } ``` 輸出結果 ``` a : 0x7fff55e0ca7c,1 *(p + 0) : 0x7fff55e0ca7c,1 b : 0x7fff55e0ca78,2 *(p + 1) : 0x7fff55e0ca78,2 ``` 上例子,`p`表示數組,`int *`表示該數組存放的`int`類型的指針。依然數組指針偏移1位,是下一個成員的值。這一點和原來規則一致 https://mengkang.net/1009.html#blog-title-3 不變。 # 數組指針 ## 指向二維數組的指針 數組指針,指的是數組名的指針,即數組首元素地址的指針。(因為數組名就代表數組的首地址) 上面的例子關于`int *p[2]`的定義也可以寫成`int* p[2]`,或者`int * p[2]`,但是不能寫成`int (*p)[2]`。 因為在語法分析的時候`*`符號是和左邊的數據類型結合的,不管中間有多少空格。而使用`()`之后,則使得`p`變成一個數組指針。 ```c #include <stdio.h> int main(int argc, char const *argv[]) { int arr[2][2] = {{1,2},{3,4}}; int (*p)[2] = arr; // p是一個指針變量,它指向一個數組,而這個數組的每個成員又是一個含有2個int的數組 printf("%d\n", *(*(p+0)+0));//1 printf("%d\n", **p);//1 printf("%d\n", *(*(p+1)+1));//4 return 0; } ``` 這就是 ```c int *p[2] int (*p)[2] ``` 的區別 ## 指向一維數組的指針 前面為了對比,先說了指向二維數組的指針,顯得非常繞。一維數組的指針呢,就非常簡單了。 ```c #include <stdio.h> int main(int argc, char const *argv[]) { int a[5], *pa; for (int i = 0; i < 5; i++) { a[i] = i; } pa = a; for (int i = 0; i < 5; i++) { printf("a[%d]=%d\n", i, *pa); pa++; } } ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看