如何在C中获取数组的长度,我尝试了如何在其他语言中获取它,但它不能像这样工作:
int array [5];
for(int i = 0; i < array.length; i++) {..
答案 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]);