黑马程序员技术交流社区

标题: 二维数组 [打印本页]

作者: yufanyufan77    时间: 2015-10-11 21:55
标题: 二维数组
/*

数组指针

        定义一个指针变量,让这个指针变量指向一位数组的元素

二维数组指针

  行指针,用来指向二维数组的每一行,存放行的首地址

  定义格式:数据类型 (*行指针变量名)

对于二维数组来说他的第一维代表行的首地址,如arr[3][]: arr[0]代表arr[3][]的第一行的首地址;

                                                                                                          arr[1]代表arr[3][]的第二行的首地址;

                                                                                                          arr[3]代表arr[3][]的第三行的首地址;


  指针数组:存放指针的数组,

  int * p[2] = {a[0],a[1]};

  二维数组指针,指向单个变量

  int(*p)[4] = arr;


*/

#include"stdio.h"
int main(void)
{
        int i,j;
        int arr[2][4] = {1,2,3,4,5,6,7,8};
        //定义二维数组指针
        //二位数组指针可以替代数组名来使用
        int(*p)[4] = arr;

        int *pt[2] = { arr[0], arr[1]};
       
        for( i=0; i<2; i++)
        {
                for(j=0; j<4; j++)
                        printf("%4d",*(*( p+i )+j));
        }
        printf("\n");

    for( i=0; i<2; i++)
        {
                for(j=0; j<4; j++)
                        printf("%4d",*(pt[i]+j));
        }
        printf("\n");
}


作者: gabriel2016    时间: 2015-10-12 12:36
支持一下!
作者: yufanyufan77    时间: 2015-10-12 17:48
多谢支持




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2