2

我有一个这样的 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

4 回答 4

5

这是最好的方法。甚至它在C programming书中被建议Dennis ritchie

于 2013-08-07T12:06:08.970 回答
4

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

等等。

实际上在最后一个建议是

#define ARRAY_SIZE( array ) sizeof( array ) / sizeof( array[0] )
于 2013-08-07T12:04:13.600 回答
2

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

这是可靠的,是的。

于 2013-08-07T12:05:18.237 回答
2

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

于 2013-08-07T12:08:59.613 回答