用指针实现对二维数组元素的访问

Posted Been You

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用指针实现对二维数组元素的访问相关的知识,希望对你有一定的参考价值。

  在C语言中,多维数组实际上是数组的数组,二维数组就是每个元素都是一个一维数组的一维数组。

  例如a[3][4];

  定义了一个3行4列的二维数组,可以将a看成是有a[0]、a[1]、a[2]三个元素组成的一维数组,而每个元素a[i]都是一个有4个整形元素的数组。

  

 1 #include<stdio.h>
 2 
 3 int main()
 4 {
 5     int i, j, a[4][3] = {{1,2,3},{4,5,6},{7,8,9},{10,11,12}}, *p;
 6     p = &a[0][0];
 7     for(i = 0; i < 4; i++){
 8         for(j = 0; j < 3; j++)
 9             printf("%-3d", *(*(a+i) + j));
10         printf("\n");
11     }
12     printf("\n");
13 
14     for(i = 0; i < 4; i++){
15         for(j = 0; j < 3; j++)
16             printf("%-3d", *(p + i*3 + j));
17         printf("\n");
18     }
19     printf("\n");
20 
21     for(i = 0; i < 12; i++, p++)
22         printf("%-3d", *p);
23     printf("\n");
24     return 0;
25 }

 

以上是关于用指针实现对二维数组元素的访问的主要内容,如果未能解决你的问题,请参考以下文章

C语言指向二维数组的指针

菜鸟求解用指针求二维数组各个元素和,请大侠帮忙!!!!!谢谢!!!!

c语言中如何通过二级指针来操作二维数组

编写程序,求二维数组中的全部元素之和(用指针实现)

二维数组和指针

如何使用指针访问这个二维数组的元素?