如何获得这样的 C 数组的元素数? [复制]
Posted
技术标签:
【中文标题】如何获得这样的 C 数组的元素数? [复制]【英文标题】:How to get the number of elements of a C-array like this? [duplicate] 【发布时间】:2013-08-08 19:10:45 【问题描述】:我有一个这样的 C 数组:
double arr[] =
0.0, 0.1, 0.2, 0.5,
0.1, 0.2, 0.3, 0.4,
0.2, 0.0, 0.1, 0.3
;
这样获取元素数量是否安全?
int numElements = sizeof(arr)/sizeof(arr[0]);
或者有没有更好的方法?
【问题讨论】:
天哪,你是最棒的 记住这不适用于动态数组,我也explain howsizeof(arr)/sizeof(arr[0])
works/meaning
【参考方案1】:
据我所知,没有其他更好的方法,这个没有问题。
在java
中,存在锯齿状数组。如果它也在c
,那么你的想法可能是正确的。
【讨论】:
【参考方案2】:这是最好的方法。甚至在Dennis ritchie
的C programming
书中也有建议。
【讨论】:
【参考方案3】:我不知道有什么其他方法可以做到这一点,因为你没有尺码。
是reliable, yes。
【讨论】:
【参考方案4】:这是一种安全的方法,如果您查看有关数组大小的其他问题,您会发现这是最常见的建议之一
here here here等等。
实际上在最后一个建议是这样做的
#define ARRAY_SIZE( array ) sizeof( array ) / sizeof( array[0] )
【讨论】:
以上是关于如何获得这样的 C 数组的元素数? [复制]的主要内容,如果未能解决你的问题,请参考以下文章