c++ 用一个指针指向数组,如何通过指针判断数组的长度
时间: 2023-07-20 17:32:08 浏览: 298
用指针计算字符串长度
在 C++ 中,指针可以指向数组的首地址,可以通过指针计算数组的长度。假设有一个指针 `p` 指向一个数组的首地址,可以使用以下方式计算数组的长度:
```cpp
int arr[] = {1, 2, 3, 4, 5};
int* p = arr; // p 指向数组的首地址
int len = sizeof(arr) / sizeof(int); // 计算数组的长度
```
在上面的代码中,`sizeof(arr)` 表示整个数组的字节大小,`sizeof(int)` 表示每个元素的字节大小,两者相除可以得到数组的长度。由于指针 `p` 指向数组的首地址,因此也可以使用指针 `p` 来计算数组的长度:
```cpp
int arr[] = {1, 2, 3, 4, 5};
int* p = arr; // p 指向数组的首地址
int len = sizeof(arr) / sizeof(*p); // 计算数组的长度
```
上面的代码中,`sizeof(*p)` 表示指针 `p` 所指向的元素的字节大小,也就是数组中每个元素的字节大小。
阅读全文