2
A
回答
7
在数组的情况下,大小总是元素的数量乘以每个元素的大小。一旦定义它们,它们都不会变化(元素的数量或大小)。
如果你的意思是,找出有意义(给你)数组中存在的元素,那么,你需要有一个sentinel value地方(由此标记有效数据项的末尾),并使用一个循环,你需要自己计算有效元素。
+0
在'strlen()'的情况下,标记值是'\ 0'字节 – Jack
1
你应该实现某种计数器来跟踪当前的元素数量为你添加。有为每个元素分配的内存,因此几乎不可能尝试找出有多少内存插槽已填满。
2
int array[3] = {1,2}; //1,2,0
由于默认将数组元素初始化为0,因此可以将非零值计为元素数。
但是,考虑
int array[4] = {0,1,2}; //0,1,2,0
你需要一种方法来确定哪些零点是有意义的。可能最后的零是无用的。
但考虑
int array[4] = {0,1,0}; //0,1,0,0
的0在array[2]
是故意的。不同的球赛。这一切都取决于你确定哪些零。
1
只要不放弃它的大小,如:
int foo[]={1,2,3,4,5};
那么编译器将分配foo
刚刚足以容纳值在初始化列表中,所以当你sizeof(foo)/sizeof(foo[0])
它会做你想要什么,只要数组不衰减到指针。与硬编码100
相比,它实际上可以节省大量内存。
相关问题
- 1. 如何知道C#列表集合中元素的确切数量
- 2. 如何知道Ul元素的确切子女数量?
- 3. 如何存储未知数量的元素数组中的C++
- 4. 如何知道char数组是否在C中有一个空元素?
- 5. 我如何知道数组中的元素是否存在?
- 6. Swift中的数组如何知道它是否包含元素?
- 7. 如何获得数组中的确切元素?
- 8. 知道在VC++数组中存储的元素的数量
- 9. C++最大/在一个数组分钟元素不知道数组的大小
- 10. C++如何定义一个函数不知道确切的参数
- 11. 如何知道偶数列表中的元素或奇数
- 12. 当我知道确切的路径时,如何使用c#查找XML元素?
- 13. C如何知道函数中2D动态数组的维数?
- 14. 如何切换与另一个数组的数组元素?
- 15. C中float数组中的元素数
- 16. 如何在vuejs中切换数组中的任何元素
- 17. 如何使用数组切片同时访问数组中的几个元素?
- 18. C语言中的Anagram:我如何知道int数组中的每个元素是否设置为零?
- 19. PHP获取前数组元素知道目前的数组键
- 20. javascript数组元素是否知道它们的封闭数组?
- 21. 如何找出C#中两个数组中的不同元素?
- 22. 如何知道Objective-C中的数组组成?
- 23. 如何获取数组中元素的数量,当元素是未知的
- 24. 从数组中删除元素知道它的名字
- 25. 字节数组:如何确切知道接收到的字节数
- 26. 数组的元素能够知道JS中该数组的所有者是谁?
- 27. PHP,将数组中的每个元素传递给函数,而不知道arrray中有多少元素?
- 28. 数组中元素的确切上限是多少
- 29. 如何将元素的数量在C++中的整数数组?
- 30. 在Java中不知道确切类型添加两个数字
其余98号以0填充。如果需要,可以使用循环来计算非零值。 – user3528438
@ user3528438不一定。有可能是在那里 – asdf
@asdf http://stackoverflow.com/questions/201101/how-to-initialize-an-array-in-c – user3528438