用 C 語言解釋指標和二維陣列


指標是一個儲存另一個變數地址的變數。

特點

  • 指標節省記憶體空間。

  • 由於直接訪問記憶體位置,指標的執行時間更快。

  • 藉助指標,可以高效地訪問記憶體,即動態地分配和釋放記憶體。

  • 指標用於資料結構。

指標和二維陣列

二維陣列的記憶體分配如下 −

int a[3] [3] = {1,2,3,4,5,6,7,8,9};

a[1] [2] = *(1234 + 1*3+2)
= *(1234 + 3+2)
= *(1234 + 5*4) // 4 is Scale factor
= * (1234+20)
= *(1254)
a[1] [2] = 6

示例

以下是用於指標和二維陣列的 C 程式 −

#include<stdio.h>
main ( ){
   int a[3] [3], i,j;
   int *p;
   clrscr ( );
   printf ("Enter elements of 2D array");
   for (i=0; i<3; i++){
      for (j=0; j<3; j++){
         scanf ("%d", &a[i] [j]);
      }
   }
   p = &a[0] [0];
   printf ("elements of 2d array are");
   for (i=0; i<3; i++){
      for (j=0; j<3; j++){
         printf ("%d \t", *(p+i*3+j));
      }
      printf ("
");    }    getch ( ); }

輸出

當執行上述程式時,將產生以下結果 −

enter elements of 2D array
1 2 3 4 5 6 7 8 9
Elements of 2D array are
1 2 3
4 5 6
7 8 9

更新於:2021 年 3 月 17 日

6 千 + 瀏覽量

開啟您的職業生涯

透過完成該課程獲得認證

開始
廣告