有没有一种方法可以从函数中查找数组的长度而不传递参数

问题描述 投票:0回答:2

有没有一种方法可以从函数中获取数组的长度?我需要找到一个数组的大小,但是它是在主函数中定义的,由于无法更改主函数,因此无法将数组的大小作为参数传递。有什么办法可以通过函数找到它吗?

数组的最大大小设置为大约100,但是实际输入将在大小1到20之间。因此,我也不能真正采用最大大小方法。

c c11
2个回答
-1
投票

您可以在for循环中添加一个计数器,以查看下一行之前有多少个变量

void counter(int array[100]){
int counter=-1;
      for (i=0; array!= '\0'; i++){
    counter=counter+1;
    }
return counter;
}

然后在主要部分

int arraysize = counter();

-3
投票

如果是字符数组,则

sizeof(<yourarray>) / sizeof(char)

否则,只需将char更改为所需。

© www.soinside.com 2019 - 2024. All rights reserved.