我们可以利用字节来求行列大小。
假如我们规定二维数组是 int a[3][4];
那么这个数组的字节大小是12*sizeof(int);
每一行的字节又是多少?每一列的字节又是多少?
我们可以这样求::
每一行有4个元素,也就是长度为4,利用
int length=sizeof(a[0])/(sizeof(a[0][0]));
我们就可以求得二维数组的长度了。
每一行的字节除以第每一行第一个元素的字节,就是这一行的长度了。
所以,宽度的求法也是相同的道理。
int width=sizeof(a)/(sizeof(a[0]));
利用整个数组的字节来除以一行的字节。
就可以得到宽度。
总代码如下:
#include<stdio.h>
int main()
{
int a[3][4]={1,2,3,4};
int length=sizeof(a[0])/(sizeof(a[0][0]));
int width=sizeof(a)/(sizeof(a[0]));
printf("二维数组的长度和宽度为:%d %d",length,width);
return 0;
}
结果如下图所示: