如何获得像这样的C数组元素的数量?

时间:2013-08-07 12:02:29

标签: c arrays

我有一个像这样的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]);

或者有更好的方法吗?

4 个答案:

答案 0 :(得分:5)

这是最好的方法。即使是C programming本书Dennis ritchie中的建议。

答案 1 :(得分:3)

这是一种安全的方法,如果你看看关于数组大小的其他问题,你会发现这是最常见的建议之一

等等。

实际上在最后一个建议是

#define ARRAY_SIZE( array ) sizeof( array ) / sizeof( array[0] )

答案 2 :(得分:2)

我不知道有任何其他方法可以做到这一点,因为你没有尺寸。

reliable, yes

答案 3 :(得分:2)

根据我的知识,没有其他更好的方法,这一方面没有问题 在java中,有锯齿状数组。如果它也在c,那么您的想法可能是正确的。