源码:

/**
 * Created By www.softool.cn , 本站只度有缘人.
 */

#include <stdio.h>
//malloc() 需要使用该头文件
#include <stdlib.h>

void P2(void)
{
    int i,j;

    //先定义一个二维数组,并初始化好数据:
    int iSrcData[5][6]=
    {
        {110,111,112,113,114,115},
        {120,121,122,123,124,125},
        {130,131,132,133,134,135},
        {140,141,142,143,144,145},
        {150,151,152,153,154,155}
    };

    //定义一个二维指针,申请需要的内存空间:
    int** p2 = (int**)malloc(5*6*sizeof(int));
    //将 iSrcData 二维数组的每行首地址转给 p2 一维指针存放:
    for(i=0;i<5;i++)
    {
        p2[i] = iSrcData[i];
    }

    //通过二维指针遍历上面的二维数组:
    for(i=0; i<5;i++)
    {    
        for(j=0;j<6;j++)
        {
            printf("%d ", p2[i][j]);
        }

        printf("\r\n");
    }

    free(p2);
}

int main()
{
   P2();

   return 0;
}

输出效果:

二维指针 - 图1

附件
附件
附件
附件
附件
附件
附件
附件
附件
附件
附件
附件
附件
附件
附件
附件
附件
附件
附件