找到静态数组和动态数组中元素数量的最快方法是什么?静态数组和动态数组中元素的数量
回答
没有办法找到动态创建的数组中的元素数量。对于非动态数组,您可以使用sizeof(array)/sizeof(type)
。然而,这看起来并没有那么有用:
void f(int a[]) {
// sizeof(a) will be the size of a pointer, probably 4
}
int main() {
int a[100];
// sizeof(a)/sizeof(int) will be 100
f(a);
}
这是因为当传递给函数时数组衰减为指针。因此,在这两种情况下,您可能需要记住数组的大小并将其作为单独的参数传递给函数。因此,在函数总结数组(例如)应该是这样的:
int sum(int a[], int n) {
int total = 0, i;
for (i = 0; i < n; i++) {
total += a[i];
}
return total;
}
通常会使用'sizeof(array)/ sizeof(array [0] )”。此外,可能会有非标准的,不可移植的方式来查找动态数组中的元素数量,但最好在创建时单独存储大小,并将其传递给需要知道大小的任何内容。 – 2010-04-05 09:42:17
@丹是的,没有想到那里打字 - 谢谢。 – 2010-04-05 09:46:21
@Georg请不要编辑我的答案的技术内容 - 我编写了我非常有意识地发布的代码。如果你认为它可以改进,发表评论或张贴你自己的答案。 – 2010-04-05 19:42:55
- 1. 动态和静态数组
- 2. 静态数组的动态数组
- 3. RDS参数组 - 动态和静态
- 4. C中动态分配数组的数组元素数
- 5. 动态定义数组中的元素
- 6. 静态数组
- 7. 动态增加一个数组中元素的数量
- 8. 每个循环动态数组中的元素数量不好
- 9. 动态数组的C静态指针
- 10. 检查静态数组的动态数组
- 11. D中的向量和动态数组
- 12. 从静态数组
- 13. 转换动态数组静态
- 14. C++初始化动态数组元素
- 15. 动态数组元素操作
- 16. 将元素动态添加到数组
- 17. 让行/动态二维数组元素
- 18. 动态数组结构,删除元素
- 19. 将元素动态推入数组[Javascript]
- 20. 动态添加元素到数组
- 21. 动态推送元素到数组jquery
- 22. 无论如何将静态数组转换为动态数组?
- 23. 动态数组和函数
- 24. 覆盖静态成员和“静态静态数组”
- 25. C++动态/静态数组作为函数的参数
- 26. CUDA,动态数组+数组。 malloc和copy
- 27. TableViewCell中元素的动态数量
- 28. 2D矢量/动态数组
- 29. C++中单个元素的静态数组初始化
- 30. XAML组合框的静态数量的控制数组
可能重复:http://stackoverflow.com/questions/851716/count-repeated-elements-in-an-array-in -c – 2010-04-05 09:40:50
可能的重复:http://stackoverflow.com/questions/2347766/how-many-elements-are-full-in-ac-array – 2010-04-05 09:41:13