c语言指针数组取长度
时间: 2024-10-15 19:25:47 浏览: 18
c语言指针数组
在C语言中,如果你有一个指向整型数组的指针,想要获取这个数组的长度,通常有两种方法:
1. **通过`sizeof`运算符**:
如果你知道数组名后的方括号中的数字是元素数量(即连续的整数),你可以简单地做如下的计算:
```c
int arr[] = {1, 2, 3, 4, 5};
size_t length = sizeof(arr) / sizeof(arr[0]);
```
`sizeof(arr)`会给出整个数组占的字节数,除以单个元素的大小得到元素的数量。
2. **通过遍历**:
如果数组不是预定义长度,且没有显式的索引信息,你需要遍历数组直到找到NULL或其他已知的结束标记:
```c
int *ptr = array; // 假设array是指向数组的首地址
size_t length = 0;
while (ptr[length] != NULL || ptr[length+1] != '\0') {
length++;
}
```
这里假设数组最后一个元素是空终止符'\0'或者NULL。
阅读全文