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

标签 c

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

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

最佳答案

使用数组你可以:

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

但是这只适用于数组,如果你已经将数组传递给函数则不起作用:此时数组衰减为指针,因此 sizeof 将返回大小指针。

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

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

关于c - 如何查找数组中元素的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12646821/

相关文章:

c - 编辑bash命令gcc一行编译执行

c - 使用链表添加两个数字

c - 使错误 : multiple definitions of. .. 尽管包括守卫

c - 如何正确使用pidfile库?

c - 将返回的 cstring 分配给变量

在 C 中创建 strdup

c - 如何将函数指针作为参数传递?

c - 在没有段错误的结构中使用指针

c - "Dereferencing pointer to incomplete type", typedefs 没问题

c# - P/Invoke struct 关闭 32 位?