21xrx.com
2024-09-17 03:41:51 Tuesday
登录
文章检索 我的文章 写文章
C++如何获取数组长度?
2023-07-05 12:54:22 深夜i     --     --
C++ 数组 长度 获取

在C++中,获取数组的长度可以使用sizeof操作符或者数组的长度定义。

1. 使用sizeof操作符

sizeof操作符用于获取数据类型或变量所占用空间的大小,例如:


int arr[] = 1;

int len = sizeof(arr) / sizeof(arr[0]);

上面的代码定义了一个长度为5的int类型数组arr,并通过sizeof操作符获取了数组的字节大小,再除以数组元素的字节大小,就可以得到数组的长度len。

需要注意的是,如果数组中的元素是指针类型,那么使用sizeof操作符获取到的数组字节大小会包含指针所占用的空间大小。


char* str[] = "hello";

int len = sizeof(str) / sizeof(str[0]);

在上面的代码中,定义了一个字符串数组str,并通过sizeof操作符获取了数组的字节大小,由于数组元素是指针类型,所以获取到的字节大小会包含指针所占用的空间大小,导致结果不正确。

2. 使用数组的长度定义

在C++11之后,可以使用数组的长度定义来获取数组的长度。例如:


int arr[] = 1;

int len = std::size(arr);

上面的代码使用std::size函数来获取数组arr的长度,该函数定义在头文件 中。

需要注意的是,使用数组的长度定义来获取数组长度时,必须保证数组已经被定义并初始化。否则编译器可能会报错。

综上所述,使用sizeof操作符或者数组的长度定义都可以获取数组的长度,需要根据具体情况来选择使用哪种方式。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复