如何在C中获取数组的长度?

时间:2015-03-11 15:57:17

标签: c arrays

如何在C中获取数组的长度,我尝试了如何在其他语言中获取它,但它不能像这样工作:

int array [5];

for(int i = 0; i < array.length; i++) {..

2 个答案:

答案 0 :(得分:4)

如果它在堆栈中,您可以使用sizeof 运算符来确定其原始字节大小:

int array[5];
size_t array_size = sizeof(array);

但是这会给你大小的字节数,而不是元素的数量。但是,您可以使用此方法计算元素数量:

int array[5];
size_t array_elems = sizeof(array) / sizeof(* array);

如果数组是一个指针(例如函数调用或动态内存分配),那么你必须自己跟踪它!

答案 1 :(得分:0)

size_t length = sizeof(array) / sizeof(array[0]);