我正在处理类型的函数:
int xyz(int input[])
我无法访问main函数,因此不知道数组的大小。 如何找到输入数组的大小? 有没有办法知道数组的结束位置? sizeof(input)/sizeof(int*)
给出1作为输入基本上是一个指针。
如果调用者没有提供有关数组的大小信息,那么就无法在函数xyz()中获得大小。
您可以将大小信息传递给另一个变量(或作为数组的元素)。
int xyx(int abc[], size_t len) { }
否……在被调用函数中没有(可移植的)方式,所以在这种情况下(即没有传递number-of-elements参数)这是正常的,以便调用者采用一些约定,例如在最后提供一个sentinel值使用元素或保证一定数量的元素。 如果使用了标记,您可以通过检查调试器中的调用代码来certificate这是在做的。
如果将数组传递给函数并且不提供长度,则无法找到它,因为数组衰减为指针,其大小始终为32(64)位。
以上就是c/c++开发分享动态分配的整数数组的大小相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注(猴子技术宅)。
”本文来自网络收集,不代表猴子技术宅立场,如涉及侵权请点击右边联系管理员删除。
如若转载,请注明出处:https://www.ssfiction.com/c-cyuyankaifa/545961.html