c语言

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

小亿
193
2023-08-10 23:48:28
栏目: 编程语言

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

  1. 使用sizeof运算符:sizeof可以返回一个数组的总字节数,因此可以通过除以数组元素的字节数来得到数组的长度。例如:
int arr[] = {1, 2, 3, 4, 5};
int len = sizeof(arr) / sizeof(arr[0]);
  1. 使用数组指针:可以使用数组指针来获取数组的长度。例如:
int arr[] = {1, 2, 3, 4, 5};
int *ptr = arr;
int len = sizeof(arr) / sizeof(*ptr);
  1. 使用预处理宏定义:可以使用预处理宏定义来获取数组的长度。例如:
#define LEN(arr) (sizeof(arr) / sizeof(arr[0]))
int arr[] = {1, 2, 3, 4, 5};
int len = LEN(arr);

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

0
看了该问题的人还看了