用 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 千 + 浏览量

开启您的职业生涯

通过完成该课程获得认证

开始
广告