【发布时间】:2020-02-20 11:53:45
【问题描述】:
我的函数接收一个数组作为参数,但该数组衰减为一个指针,因此 sizeof() 不起作用。我不允许导入任何额外的库,并且该数组作为 int arr[] 传递。当我搜索它时,大多数人只是说在函数之外定义它并将其作为参数传递,但我不能这样做。那么有没有办法让我获得数组大小?
【问题讨论】:
-
简短回答:不,不可能
-
简单的回答:不,你不能没有额外的信息。您有一个指向内存中“随机”地址的指针,该指针不知道有多少后续内存是“有效的”
-
除非数组有一些结构,比如一个“魔法”值来终止它,否则你不能。我怀疑您遗漏了您的需求中的一些重要信息。