C语言与单机--多维数组
时间:10-11 10:18 阅读:1099次
*温馨提示:点击图片可以放大观看高清大图
简介:多维数组中,我们讨论二位数组,二位数组与一位数组在本质没有区别,都是内存一块连续地址。
多维数组中,我们讨论二位数组,二位数组与一位数组在本质没有区别,都是内存一块连续地址。
二位数组声明方式如下:
int number[x][y];
x是行,y是列。int number[x][y]; 声明了一个x行y列的数组。如果x=3,y=4.逻辑上如下表
因为计算机内存地址是一维的。所二维数组只能按照一维数组方式物理存储。按照一般计算机体系结构的存储方式有两种。行优先和列优先。
行优先存储方式如下图
列优先存储方式如下图
怎样知道C语言采用的行优先还是列优先存储方式?实验方法可以获得。
我们编写一段代码来确定VC的多维数组存储方式
#include
void main( )
{
unsigned char number[2][3]={0x00, 0x01,0x02,
0x10,0x11,0x12};
unsigned char *pch;
char i;
pch = number;
for(i=0;i<6;i++)
{
printf("第%d地址存储的值为:%02X\n",i,*(pch+i));
}
}
运行结果。
从第一个元素开始,VC是按照行优先方式存储。