如何查找数组中的元素数量

时间:2012-09-28 20:17:30

标签: c

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

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

1 个答案:

答案 0 :(得分:7)

使用数组,您可以:

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

但是这仅适用于数组,如果你已经将数组传递给函数,则无法工作:此时数组会衰减为指针,因此sizeof将返回指针的大小

你会看到这被包裹在一个宏中:

#define ARRAY_LENGTH(x) (sizeof (x) / sizeof (x)[0])