C++中对于一个二维数组,如何获得它第一维和第二维的长度?

如题所述

第1个回答  2013-11-20
#include<stdio.h>
void main()
{
int a[100][200]; int b1=sizeof(a[0]);//求得第二维占用的字节数目
int len1=b1/sizeof(int);//除以单个元素占用的字节数目,得第二维度长度。如果数组为float型,则此处改为sizeof(float),其它类推。。。 int b0=sizeof(a);//第一维度占用的字节数目
int len0=b0/b1; //第一维度长度
printf("数组第一维长度为%d;\n数组第二维长度为%d\n",len0,len1); return;
}提供一自编简短例程,供参考。对于三维、四维等高维度数组可用同样方法求取各维长度。
第2个回答  2013-11-20
做不到的,是简单数据类型。没有获得相关信息的方法
第3个回答  2013-11-20
上面改为cout << sizeof(d)/sizeof(d[0]) << " " << sizeof(d[0])/sizeof(int);
相似回答