c - 如何在没有任何附加参数的情况下获取函数中的数组大小

标签 c

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

}

这里我想获取未初始化的数组的长度。在我的案例中,主要功能是我不知道的。假设我从其他程序获取数组元素。

最佳答案

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

int function(int a[]);

int function(int *a);

是一样的。

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

关于c - 如何在没有任何附加参数的情况下获取函数中的数组大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23111144/

相关文章:

c - C 中使用 void* 的通用可编辑函数

c - 使用或不使用指针将结构传递给函数

c - 为什么强制转换在 C 中给出右值?

c - 通过 ascii 数字操作 char

c - 如何从linux库传递c中的参数

相同地址的C结构分配有效吗?

c - 相同的字符串。一个人行为不端

c - 等待子进程在 C 中完成的父进程

c - Arduino 开发环境 : Print once inside loop

c - 如何在 C 中使用 switch 语句保留被操作位的值