int **pixel; pixel = new int*[w]; for(int a=0;a<w;a++) { pixel[a] = new int[h]; } 这样动态创建的二维数组,w,h已经通过键盘输入获得.然后每个数据都已经填充进了INT数据,那么我现在只知道这样一个数组,如何来获得他的二维长度呢?C++有类似.length的函数吗?新学C++,望指教
使用sizeof(data)/sizeof(data[0])即可获得数组data的长度。 1、C语言中,定义数组后可以用sizeof命令获得数组的长度(即可容纳元素个数)。但是通过传递数组名参数到子函数中,以获得数组长度是不可行的,因为在子函数当中,数组名会退化为一个指针。 2、例如: int data[4],length; length=sizeof(data)/sizeof(data[0]); //数组占内存总空间除以单个元素占内存空间大小,即等于元素个数 printf("length of data[4]=%d", length ); //输出length of data[4]=4