这样的动态分配的无法在后续获得长度。
(楼下几位列出的公式是计算数组的,与你动态分配的指针是两回事)
但知道长度也比较简单。因为你在new的时候,就碰肢配要先知道长度。这笑指里已知的w与h就是你想要的长度。
如果是别人new出来的然后返回给你使用,你要求他将长度也一起给你就好饥高。
c++没有length函凯斗数,不过你可以用sizeof来计算大小
其盯瞎磨实你只要保存好你初始华时候神让的w和h就可以了,一般也就是这么做的
((long)sizeof(array)/(long)sizeof(array[0]))
使用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
时代的