如何在没有任何附加参数的函数中获取数组大小

vij*_*kdp 1 c

main()
{
   int arr[] = {1, 2, 3, 4};
   function(arr);
}
int function(int a[])
{       

}
Run Code Online (Sandbox Code Playgroud)

在这里,我想获得未初始化的数组的长度.在我的情况下的主要功能是我不知道..假设我从其他程序获取数组元素.

tur*_*too 6

当用作函数的参数时,数组会衰减为指针:

int function(int a[]);
Run Code Online (Sandbox Code Playgroud)

int function(int *a);
Run Code Online (Sandbox Code Playgroud)

是相同的.

这意味着您无法知道传递给函数的数组中有多少元素,除非您有一个指示数组长度的单独参数.