3

我有一个 int 数组,我需要找到其中的元素数。我知道它与 sizeof 有关,但我不确定如何准确使用它。例子

 int data2[]={a,b,c,d};
4

1 回答 1

7

使用数组,您可以:

int numElements = sizeof(data) / sizeof(data[0]);

但这仅适用于数组,并且如果您将数组传递给函数则不起作用:此时数组衰减为指针,因此sizeof将返回指针的大小。

您会看到它包含在一个宏中:

#define ARRAY_LENGTH(x) (sizeof (x) / sizeof (x)[0])
于 2012-09-28T20:18:22.123 回答