C语言获取数组长度的方法有哪些

C语言中获取数组长度的方法有以下几种:

使用sizeof运算符:sizeof可以返回一个数组的总字节数,因此可以通过除以数组元素的字节数来得到数组的长度。例如:

int arr[] = {1, 2, 3, 4, 5};
int len = sizeof(arr) / sizeof(arr[0]);

使用数组指针:可以使用数组指针来获取数组的长度。例如:

int arr[] = {1, 2, 3, 4, 5};
int *ptr = arr;
int len = sizeof(arr) / sizeof(*ptr);

使用预处理宏定义:可以使用预处理宏定义来获取数组的长度。例如:

#define LEN(arr) (sizeof(arr) / sizeof(arr[0]))
int arr[] = {1, 2, 3, 4, 5};
int len = LEN(arr);

需要注意的是,这种方法只能用于在编译时已知数组大小的情况下。如果数组是通过动态内存分配(如malloc函数)获得的,那么以上方法是无效的,需要使用其他的手段来获取数组的长度。

阅读剩余
THE END