如何在c语言中找到数组的长度?

时间:2014-04-28 16:02:49

标签: c arrays function

我只是有一个功能" func(int input [])" 。我想找到数组输入的长度并返回值。

3 个答案:

答案 0 :(得分:2)

您将无法在功能中执行此操作。数组的长度需要作为函数的附加参数传递。传递给函数的数组会衰减。请参阅this thread

答案 1 :(得分:1)

你做不到。在func中,input会降级为指向int

但是,在定义input数组之后,您可以通过

找出其中有多少元素
int input[] = {1, 2, 3, 4};

size_t num_of_element = sizeof(input)/sizeof(input[0]);

如果你需要将input传递给需要知道该数组中有多少元素的函数,你需要将该长度作为参数传递给它。

答案 2 :(得分:0)

c中通常不可能。这也是为什么可以用这种语言在数组外部写入的原因。您总是必须将长度作为参数传递。