c - 如何找到整数数组的大小

标签 c arrays

如何在 C 中找到整数数组的大小。

无需遍历整个数组一次即可找出数组大小的任何可用方法。

最佳答案

如果数组是全局变量、静态变量或自动变量 (int array[10];),则 sizeof(array)/sizeof(array[0]) 作品。

如果是动态分配的数组(int* array = malloc(sizeof(int)*10);)或者作为函数参数传递(void f(int array[] )),那么你就无法在运行时找到它的大小。您必须将尺寸存储在某处。
请注意,即使对于第二种情况,sizeof(array)/sizeof(array[0]) 也可以正常编译,但它会默默地产生错误的结果。

关于c - 如何找到整数数组的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2773328/

相关文章:

java - 通用类型数组的可能方法?

java - 打印字符串数组也打印 null

c - 由于包含好文件而导致的解析错误

c - 为什么变量的地址在传递函数后会改变

c - 没有定义函数参数类型默认为int?我疯了吗?

c - 返回值显示到屏幕时的函数错误

c - tizen 中的最佳线程池大小

php - 仍在尝试将 PHP 数组传递给 foreach 循环内的 JQuery 函数(进入 Bootstrap3 模式)

c++ - 如何在 C++ 的派生类中分配数据成员数组?

python - 有没有更快的方法来获得相同的结果?