我只是有一个功能" func(int input [])" 。我想找到数组输入的长度并返回值。
答案 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中通常不可能。这也是为什么可以用这种语言在数组外部写入的原因。您总是必须将长度作为参数传递。