提问者:小点点

如何在另一个数组内部找到指针引用的数组的长度?


int array1[] = {1, 2, 3, 4, 5};
int array2[] = {6, 7, 8, 9};

int *arrays[] = {array1, array2};

如何从arrays中获取array1和array2的长度?(数组[0]长度和数组[1]长度)


共1个答案

匿名用户

不是。
指向数据类型(int,例如)的指针(数组在此上下文中衰减到该类型)不知道大小。它类似于在函数中找不到大小的问题。
这意味着您需要知道它,例如,因为您在第二个数组中有大小信息,或者像以0结尾的字符序列那样,可以从内容中删除长度。

为了有所帮助,我加入这些(例如在这里的注释中),使用C++容器类,最突出的是std::vector