先贴代码吧.

问题思考:
1. 二维数组名代表什么呢?
2. 二维数组在内存中又是如何分配存储的呢?




贴代码

点击(此处)折叠或打开

  1. #include "stdafx.h"

  2. char a[8][5];


  3. int _tmain(int argc, _TCHAR* argv[])
  4. {
  5.     int i, j;

  6.     char *p = (char *)a;

  7.     for(i = 0; i< 40; i++)
  8.         *p++ = i;

  9.     for(i = 0 ; i<8; i++)
  10.     {
  11.         for(j =0 ; j< 5; j++)
  12.             printf("a[%d][%d]: %d \t", i, j, a[i][j]);
  13.         
  14.         printf("\n");
  15.     }
  16.     while(1);
  17.     return 0;
  18. }

结果截图:
二维数组的思考:数组名以及内存分布-LMLPHP

看这个就知道,二维数组在内存分布应该是连续的。



09-21 13:58