介绍
在本文中,我们将学习 在 C++ 中找到数组长度的各种方法。数组的长度是指相应数组中存在的元素总数。例如,请看下面的数组:
int array1[]={0,1,2,3,4}
此处数组的大小或长度等于其中元素的总数 - 即 5。
在 C++ 中查找数组长度的方法
有几种方法可以确定 C++ 语言中数组的长度。他们是:
计算每个元素
begin()
和end()
功能sizeof()
功能size()
STL中的函数使用指针
- std ;int
- main(){
- int
- c ;
- int
- arr []={1,2,3,4,5,6,7,8,9,0};
- cout <<“数组为:”;
- for(自动
- i :
- arr )
- {
- cout <<
- i <<“;
- C ++;
- }
- cout <<“n给定数组的长度为:”<<
- c ;
- 返回
- 0;}
- 给定数组的长度为 :10
- std ;int
- main(){
- 给定数组
- int
- arr []
- =
- {
- 11,
- 22,
- 33,
- 44
- };
- cout <<“数组的长度是:”<<end(
- arr )-begin(
- arr );
- 长度
- 返回
- 0;}
- std ;int
- main(){
- 给定数组
- int
- arr []
- =
- {10
- ,20
- ,30};
- int
- al =
- sizeof(
- arr )/sizeof(
- arr [0]);
- 长度计算
- cout <<
- “数组的长度是:”<<
- al ;
- 返回
- 0;}
- std ;int
- main(){
- 给定数组
- array <int,5>
- arr {
- 1,
- 2,
- 3,
- 4,
- 5
- };
- 使用 STL 的 size() 函数
- cout <<“n给定数组的长度为:”<<
- arr 。大小();
- 返回
- 0;}
- std ;int
- main(){
- 给定数组
- int
- arr [6]
- =
- {5,4,3,2,1,0};
- int
- len =
- *(&
- arr +
- 1)
- -
- arr ;
- *(&arr + 1) 是下一个内存位置的地址
- 紧跟在数组的最后一个元素之后
- cout <<
- “数组的长度是:”
- <<
- len ;
- 返回
- 0;}
如何找到数组的长度?- 堆栈溢出问题,
C++ 中的每个循环 - JournalDev 帖子。
计算每个元素
begin()
和end()
功能sizeof()
功能size()
STL中的函数使用指针
- std ;int
- main(){
- int
- c ;
- int
- arr []={1,2,3,4,5,6,7,8,9,0};
- cout <<“数组为:”;
- for(自动
- i :
- arr )
- {
- cout <<
- i <<“;
- C ++;
- }
- cout <<“n给定数组的长度为:”<<
- c ;
- 返回
- 0;}
- 给定数组的长度为 :10
- std ;int
- main(){
- 给定数组
- int
- arr []
- =
- {
- 11,
- 22,
- 33,
- 44
- };
- cout <<“数组的长度是:”<<end(
- arr )-begin(
- arr );
- 长度
- 返回
- 0;}
- std ;int
- main(){
- 给定数组
- int
- arr []
- =
- {10
- ,20
- ,30};
- int
- al =
- sizeof(
- arr )/sizeof(
- arr [0]);
- 长度计算
- cout <<
- “数组的长度是:”<<
- al ;
- 返回
- 0;}
- std ;int
- main(){
- 给定数组
- array <int,5>
- arr {
- 1,
- 2,
- 3,
- 4,
- 5
- };
- 使用 STL 的 size() 函数
- cout <<“n给定数组的长度为:”<<
- arr 。大小();
- 返回
- 0;}
- std ;int
- main(){
- 给定数组
- int
- arr [6]
- =
- {5,4,3,2,1,0};
- int
- len =
- *(&
- arr +
- 1)
- -
- arr ;
- *(&arr + 1) 是下一个内存位置的地址
- 紧跟在数组的最后一个元素之后
- cout <<
- “数组的长度是:”
- <<
- len ;
- 返回
- 0;}
如何找到数组的长度?- 堆栈溢出问题,
C++ 中的每个循环 - JournalDev 帖子。
现在,让我们通过示例和详细讨论每种方法。
1. 计算每个元素
遍历给定数组并同时计算我们遍历的元素总数可以得到数组的长度。但是,如果我们不知道数组的长度,我们就不能使用 for 循环遍历数组,因为 for 循环需要一个终止编号。这个问题可以通过使用简单的 for-each 循环来解决。让我们看一下下面的代码。
#include#include<数组> 使用命名空间
如果我们运行此代码,我们将得到以下输出:
OutputThe array is:1234567890
在这段代码中,我们使用 for-each 循环以 i 作为迭代器遍历数组arr
。当循环遍历时,c 会递增。当循环终止时,c 变量包含循环执行的次数,给出数组的总长度。
2.使用 begin() 和 end()
我们还可以使用标准库 begin()
和 end()
函数来计算数组的长度。这两个函数分别返回指向相应数组 的开始 和 结束的迭代器。看看给定的代码:
#include#include<数组> 使用命名空间
此代码的输出为:
Output:4
在这里,我们可以看到两个函数 end()
的返回值之间的差异,并 begin()
给出给定数组 arr
的大小或长度。在本例中,差值为 4,即 的长度 arr
。
3. 使用 sizeof() 函数在 C++ 中查找数组长度
sizeof()
C++ 中的运算符返回传递的变量或数据的大小(以字节为单位),以及存储数组所需的总字节数。因此,如果我们将数组的大小除以相同的每个元素获取的大小,我们可以得到数组中存在的元素总数。
让我们来看看它是如何工作的。
#include#include<数组> 使用命名空间
此代码的输出为:
OutputThe length of the array is:3
正如我们所看到的,我们得到了我们想要的长度作为输出。
4.在 STL 中使用 size() 函数
标准库中定义了一个 size()
函数,它返回给定容器中的元素数(在我们的例子中为数组)。我们可以使用这个函数按以下方式返回长度:
#include#include<数组> 使用命名空间
在执行时,上述代码将返回以下输出:
OutputThe length of the given Array is:5
5. 使用指针在 C++ 中查找数组长度
我们还可以使用 指针找到给定数组的长度。指针是一个变量,用于存储对象的内存地址,而不是存储对象本身。让我们看看如何使用指针来获取数组的长度。
#include#include<数组> 使用命名空间
此代码的输出为:
OutputThe length of the array is:6
该表达式 *(arr+1)
为我们提供了数组最后一个元素之后的内存空间地址。因此,它与数组的起始位置或基址 (arr
) 之间的差值为我们提供了给定数组中元素的总数。
结论
在本教程中,我们讨论了在 C++ 中查找数组长度的各种方法。尽管所有方法都以一种或另一种方式返回长度,但我们更喜欢使用 for-each 循环,这不仅是因为代码的可读性,还因为它的跨平台可靠性。
引用
介绍
在本文中,我们将学习 在 C++ 中找到数组长度的各种方法。数组的长度是指相应数组中存在的元素总数。例如,请看下面的数组:
int array1[]={0,1,2,3,4}
此处数组的大小或长度等于其中元素的总数 - 即 5。
在 C++ 中查找数组长度的方法
有几种方法可以确定 C++ 语言中数组的长度。他们是:
现在,让我们通过示例和详细讨论每种方法。
1. 计算每个元素
遍历给定数组并同时计算我们遍历的元素总数可以得到数组的长度。但是,如果我们不知道数组的长度,我们就不能使用 for 循环遍历数组,因为 for 循环需要一个终止编号。这个问题可以通过使用简单的 for-each 循环来解决。让我们看一下下面的代码。
#include#include<数组> 使用命名空间
如果我们运行此代码,我们将得到以下输出:
OutputThe array is:1234567890
在这段代码中,我们使用 for-each 循环以 i 作为迭代器遍历数组arr
。当循环遍历时,c 会递增。当循环终止时,c 变量包含循环执行的次数,给出数组的总长度。
2.使用 begin() 和 end()
我们还可以使用标准库 begin()
和 end()
函数来计算数组的长度。这两个函数分别返回指向相应数组 的开始 和 结束的迭代器。看看给定的代码:
#include#include<数组> 使用命名空间
此代码的输出为:
Output:4
在这里,我们可以看到两个函数 end()
的返回值之间的差异,并 begin()
给出给定数组 arr
的大小或长度。在本例中,差值为 4,即 的长度 arr
。
3. 使用 sizeof() 函数在 C++ 中查找数组长度
sizeof()
C++ 中的运算符返回传递的变量或数据的大小(以字节为单位),以及存储数组所需的总字节数。因此,如果我们将数组的大小除以相同的每个元素获取的大小,我们可以得到数组中存在的元素总数。
让我们来看看它是如何工作的。
#include#include<数组> 使用命名空间
此代码的输出为:
OutputThe length of the array is:3
正如我们所看到的,我们得到了我们想要的长度作为输出。
4.在 STL 中使用 size() 函数
标准库中定义了一个 size()
函数,它返回给定容器中的元素数(在我们的例子中为数组)。我们可以使用这个函数按以下方式返回长度:
#include#include<数组> 使用命名空间
在执行时,上述代码将返回以下输出:
OutputThe length of the given Array is:5
5. 使用指针在 C++ 中查找数组长度
我们还可以使用 指针找到给定数组的长度。指针是一个变量,用于存储对象的内存地址,而不是存储对象本身。让我们看看如何使用指针来获取数组的长度。
#include#include<数组> 使用命名空间
此代码的输出为:
OutputThe length of the array is:6
该表达式 *(arr+1)
为我们提供了数组最后一个元素之后的内存空间地址。因此,它与数组的起始位置或基址 (arr
) 之间的差值为我们提供了给定数组中元素的总数。
结论
在本教程中,我们讨论了在 C++ 中查找数组长度的各种方法。尽管所有方法都以一种或另一种方式返回长度,但我们更喜欢使用 for-each 循环,这不仅是因为代码的可读性,还因为它的跨平台可靠性。