int len = sizeof(arr) / sizeof(int)
时间: 2024-06-14 14:07:30 浏览: 118
根据提供的引用内容,`int len = sizeof(arr) / sizeof(int)`是用来计算数组`arr`的元素个数的常见方法。它利用了`sizeof`运算符来获取数组的总字节数,然后除以每个元素的字节数来得到元素个数。
然而,需要注意的是,这种方法只适用于静态数组,而不适用于指针或动态分配的数组。因为在这种情况下,`sizeof(arr)`将返回指针的字节数,而不是数组的总字节数。
以下是一个示例代码,演示了如何使用`sizeof`来计算数组的元素个数:
```c++
#include <iostream>
using namespace std;
int main() {
int arr[] = {1, 2, 3, 4, 5};
int len = sizeof(arr) / sizeof(int);
cout << "Number of elements in arr: " << len << endl; // 输出:Number of elements in arr: 5
return 0;
}
```
这段代码定义了一个静态数组`arr`,然后使用`sizeof(arr) / sizeof(int)`计算了数组的元素个数,并将结果输出到控制台。
相关问题
int len = sizeof(arr) / sizeof(arr[0]);
这是一个计算数组长度的常见方法,其中 arr 是一个数组, sizeof 是一个 C 语言中的运算符,用于计算数据类型或变量所占用的字节数。sizeof(arr) 返回整个数组所占用的字节数,sizeof(arr[]) 返回数组中一个元素所占用的字节数,两者相除即可得到数组的长度。
int len = sizeof(arr) / sizeof(unsigned char);
这行代码的作用是计算一个数组中元素的个数。其中,arr是一个unsigned char类型的数组,sizeof(arr)表示该数组所占用的内存空间大小,而sizeof(unsigned char)表示一个unsigned char类型的变量所占用的内存空间大小,因此sizeof(arr) / sizeof(unsigned char)就是该数组中元素的个数,结果保存在len变量中。注意,该代码只适用于静态数组,对于指针指向的动态数组则不能使用该方式来计算元素个数。
阅读全文