sizeof(arr) / sizeof(arr[0]);
时间: 2023-11-18 22:56:25 浏览: 63
sizeof(arr) / sizeof(arr)是一个用于求取数组长度的常用表达式。其中sizeof(arr)表示数组所占用的总字节数,而sizeof(arr)表示数组中每个元素所占用的字节数。通过将数组所占用的总字节数除以每个元素所占用的字节数,就可以得到数组中元素的个数,也就是数组的长度。这个表达式在编写代码时非常有用,可以避免手动计算数组长度的麻烦。
相关问题
sizeof(arr) / sizeof(arr)
sizeof(arr) / sizeof(arr) 是一个常见的用法,用于计算数组的长度。其中,sizeof(arr) 表示数组 arr 的总字节数,sizeof(arr) 表示数组中每个元素的字节数。通过将总字节数除以每个元素的字节数,可以得到数组的长度。
这个用法适用于静态数组,即在编译时已知数组大小的情况下。它可以帮助我们在编程中动态地获取数组的长度,而不需要手动指定数组的长度。
需要注意的是,这个用法只适用于数组,对于指针类型是无效的。因为指针只存储了数组的首地址,并不知道数组的长度。
sizeof(arr)/sizeof(*arr)
这段代码用于计算数组arr的长度,其中sizeof(arr)返回整个数组的大小,而sizeof(*arr)返回数组中元素的大小。因此,sizeof(arr)/sizeof(*arr)可以得到数组arr的长度。这个方法在C++中非常常用,可以避免在循环中手动计算数组长度的麻烦。
下面是一个例子,演示如何使用sizeof(arr)/sizeof(*arr)计算数组长度:
```cpp
#include <iostream>
using namespace std;
int main() {
int arr[] = {1, 2, 3, 4, 5};
int len = sizeof(arr) / sizeof(*arr);
cout << "The length of the array is: " << len << endl;
return 0;
}
```
输出结果为:
```
The length of the array is: 5
```