tk挠痒痒网址发布页-秘密武器
历史搜索

在 C++ 中查找数组长度

游客2024-06-20 04:18:52

介绍

在本文中,我们将学习 在 C++ 中找到数组长度的各种方法。数组的长度是指相应数组中存在的元素总数。例如,请看下面的数组:

int array1[]={0,1,2,3,4}

此处数组的大小或长度等于其中元素的总数 - 即 5。

在 C++ 中查找数组长度的方法

有几种方法可以确定 C++ 语言中数组的长度。他们是:

  1. 计算每个元素

  2. begin() 和 end() 功能

  3. sizeof() 功能

  4. size() STL中的函数

  5. 使用指针

  6. 现在,让我们通过示例和详细讨论每种方法。

    1. 计算每个元素

    遍历给定数组并同时计算我们遍历的元素总数可以得到数组的长度。但是,如果我们不知道数组的长度,我们就不能使用 for 循环遍历数组,因为 for 循环需要一个终止编号。这个问题可以通过使用简单的 for-each 循环来解决。让我们看一下下面的代码。

    #include
    #include<数组> 使用命名空间
  7. std
  8. ;int
  9. main(){
  10.  
  11. int
  12. c
  13. ;
  14.  
  15. int
  16. arr
  17. []={1,2,3,4,5,6,7,8,9,0};
  18.   cout
  19. <<“数组为:”;
  20.  
  21. for(自动
  22. i
  23. :
  24. arr
  25. )
  26.  
  27. {
  28.   cout
  29. <<
  30. i
  31. <<“;
  32. C
  33. ++;
  34.  
  35. }
  36.   cout
  37. <<“n给定数组的长度为:”<<
  38. c
  39. ;
  40.    
  41. 返回
  42. 0;}

    如果我们运行此代码,我们将得到以下输出:

    OutputThe array is:1234567890
  43. 给定数组的长度为
  44. :10

    在这段代码中,我们使用 for-each 循环以 i 作为迭代器遍历数组arr。当循环遍历时,c 会递增。当循环终止时,c 变量包含循环执行的次数,给出数组的总长度。

    2.使用 begin() 和 end()

    我们还可以使用标准库 begin() 和 end() 函数来计算数组的长度。这两个函数分别返回指向相应数组 的开始 和 结束的迭代器。看看给定的代码:

    #include
    #include<数组> 使用命名空间
  45. std
  46. ;int
  47. main(){
  48.    
  49. 给定数组
  50.  
  51. int
  52. arr
  53. []
  54. =
  55. {
  56. 11,
  57. 22,
  58. 33,
  59. 44
  60. };
  61.     cout
  62. <<“数组的长度是:”<<end(
  63. arr
  64. )-begin(
  65. arr
  66. );
  67. 长度
  68.    
  69. 返回
  70. 0;}

    此代码的输出为:

    Output:4

    在这里,我们可以看到两个函数 end() 的返回值之间的差异,并 begin() 给出给定数组 arr的大小或长度。在本例中,差值为 4,即 的长度 arr。

    3. 使用 sizeof() 函数在 C++ 中查找数组长度

    sizeof() C++ 中的运算符返回传递的变量或数据的大小(以字节为单位),以及存储数组所需的总字节数。因此,如果我们将数组的大小除以相同的每个元素获取的大小,我们可以得到数组中存在的元素总数。

    让我们来看看它是如何工作的。

    #include
    #include<数组> 使用命名空间
  71. std
  72. ;int
  73. main(){
  74.  
  75. 给定数组
  76.  
  77. int
  78.  arr
  79. []
  80. =
  81. {10
  82. ,20
  83. ,30};
  84.    
  85. int
  86. al
  87. =
  88. sizeof(
  89. arr
  90. )/sizeof(
  91. arr
  92. [0]);
  93. 长度计算
  94. cout
  95. <<
  96. “数组的长度是:”<<
  97. al
  98. ;
  99.    
  100. 返回
  101. 0;}

    此代码的输出为:

    OutputThe length of the array is:3

    正如我们所看到的,我们得到了我们想要的长度作为输出。

    4.在 STL 中使用 size() 函数

    标准库中定义了一个 size() 函数,它返回给定容器中的元素数(在我们的例子中为数组)。我们可以使用这个函数按以下方式返回长度:

    #include
    #include<数组> 使用命名空间
  102. std
  103. ;int
  104. main(){
  105.  
  106. 给定数组
  107. array
  108. <int,5>
  109. arr
  110. {
  111. 1,
  112. 2,
  113. 3,
  114. 4,
  115. 5
  116. };
  117.  
  118. 使用 STL 的 size() 函数
  119.   cout
  120. <<“n给定数组的长度为:”<<
  121. arr
  122. 。大小();
  123.  
  124. 返回
  125. 0;}

    在执行时,上述代码将返回以下输出:

    OutputThe length of the given Array is:5

    5. 使用指针在 C++ 中查找数组长度

    我们还可以使用 指针找到给定数组的长度。指针是一个变量,用于存储对象的内存地址,而不是存储对象本身。让我们看看如何使用指针来获取数组的长度。

    #include
    #include<数组> 使用命名空间
  126. std
  127. ;int
  128. main(){
  129.  
  130. 给定数组
  131.  
  132. int
  133. arr
  134. [6]
  135. =
  136. {5,4,3,2,1,0};
  137.    
  138. int
  139. len
  140. =
  141. *(&
  142. arr
  143. +
  144. 1)
  145. -
  146. arr
  147. ;
  148.  
  149. *(&arr + 1) 是下一个内存位置的地址
  150.  
  151. 紧跟在数组的最后一个元素之后
  152.     cout
  153. <<
  154. “数组的长度是:”
  155. <<
  156. len
  157. ;
  158.    
  159. 返回
  160. 0;}

    此代码的输出为:

    OutputThe length of the array is:6

    该表达式 *(arr+1) 为我们提供了数组最后一个元素之后的内存空间地址。因此,它与数组的起始位置或基址 (arr) 之间的差值为我们提供了给定数组中元素的总数。

    结论

    在本教程中,我们讨论了在 C++ 中查找数组长度的各种方法。尽管所有方法都以一种或另一种方式返回长度,但我们更喜欢使用 for-each 循环,这不仅是因为代码的可读性,还因为它的跨平台可靠性。

    引用

    • 如何找到数组的长度?- 堆栈溢出问题,

    • C++ 中的每个循环 - JournalDev 帖子。

    介绍

    在本文中,我们将学习 在 C++ 中找到数组长度的各种方法。数组的长度是指相应数组中存在的元素总数。例如,请看下面的数组:

    int array1[]={0,1,2,3,4}

    此处数组的大小或长度等于其中元素的总数 - 即 5。

    在 C++ 中查找数组长度的方法

    有几种方法可以确定 C++ 语言中数组的长度。他们是:

    1. 计算每个元素

    2. begin() 和 end() 功能

    3. sizeof() 功能

    4. size() STL中的函数

    5. 使用指针

    6. 现在,让我们通过示例和详细讨论每种方法。

      1. 计算每个元素

      遍历给定数组并同时计算我们遍历的元素总数可以得到数组的长度。但是,如果我们不知道数组的长度,我们就不能使用 for 循环遍历数组,因为 for 循环需要一个终止编号。这个问题可以通过使用简单的 for-each 循环来解决。让我们看一下下面的代码。

      #include
      #include<数组> 使用命名空间
    7. std
    8. ;int
    9. main(){
    10.  
    11. int
    12. c
    13. ;
    14.  
    15. int
    16. arr
    17. []={1,2,3,4,5,6,7,8,9,0};
    18.   cout
    19. <<“数组为:”;
    20.  
    21. for(自动
    22. i
    23. :
    24. arr
    25. )
    26.  
    27. {
    28.   cout
    29. <<
    30. i
    31. <<“;
    32. C
    33. ++;
    34.  
    35. }
    36.   cout
    37. <<“n给定数组的长度为:”<<
    38. c
    39. ;
    40.    
    41. 返回
    42. 0;}

      如果我们运行此代码,我们将得到以下输出:

      OutputThe array is:1234567890
    43. 给定数组的长度为
    44. :10

      在这段代码中,我们使用 for-each 循环以 i 作为迭代器遍历数组arr。当循环遍历时,c 会递增。当循环终止时,c 变量包含循环执行的次数,给出数组的总长度。

      2.使用 begin() 和 end()

      我们还可以使用标准库 begin() 和 end() 函数来计算数组的长度。这两个函数分别返回指向相应数组 的开始 和 结束的迭代器。看看给定的代码:

      #include
      #include<数组> 使用命名空间
    45. std
    46. ;int
    47. main(){
    48.    
    49. 给定数组
    50.  
    51. int
    52. arr
    53. []
    54. =
    55. {
    56. 11,
    57. 22,
    58. 33,
    59. 44
    60. };
    61.     cout
    62. <<“数组的长度是:”<<end(
    63. arr
    64. )-begin(
    65. arr
    66. );
    67. 长度
    68.    
    69. 返回
    70. 0;}

      此代码的输出为:

      Output:4

      在这里,我们可以看到两个函数 end() 的返回值之间的差异,并 begin() 给出给定数组 arr的大小或长度。在本例中,差值为 4,即 的长度 arr。

      3. 使用 sizeof() 函数在 C++ 中查找数组长度

      sizeof() C++ 中的运算符返回传递的变量或数据的大小(以字节为单位),以及存储数组所需的总字节数。因此,如果我们将数组的大小除以相同的每个元素获取的大小,我们可以得到数组中存在的元素总数。

      让我们来看看它是如何工作的。

      #include
      #include<数组> 使用命名空间
    71. std
    72. ;int
    73. main(){
    74.  
    75. 给定数组
    76.  
    77. int
    78.  arr
    79. []
    80. =
    81. {10
    82. ,20
    83. ,30};
    84.    
    85. int
    86. al
    87. =
    88. sizeof(
    89. arr
    90. )/sizeof(
    91. arr
    92. [0]);
    93. 长度计算
    94. cout
    95. <<
    96. “数组的长度是:”<<
    97. al
    98. ;
    99.    
    100. 返回
    101. 0;}

      此代码的输出为:

      OutputThe length of the array is:3

      正如我们所看到的,我们得到了我们想要的长度作为输出。

      4.在 STL 中使用 size() 函数

      标准库中定义了一个 size() 函数,它返回给定容器中的元素数(在我们的例子中为数组)。我们可以使用这个函数按以下方式返回长度:

      #include
      #include<数组> 使用命名空间
    102. std
    103. ;int
    104. main(){
    105.  
    106. 给定数组
    107. array
    108. <int,5>
    109. arr
    110. {
    111. 1,
    112. 2,
    113. 3,
    114. 4,
    115. 5
    116. };
    117.  
    118. 使用 STL 的 size() 函数
    119.   cout
    120. <<“n给定数组的长度为:”<<
    121. arr
    122. 。大小();
    123.  
    124. 返回
    125. 0;}

      在执行时,上述代码将返回以下输出:

      OutputThe length of the given Array is:5

      5. 使用指针在 C++ 中查找数组长度

      我们还可以使用 指针找到给定数组的长度。指针是一个变量,用于存储对象的内存地址,而不是存储对象本身。让我们看看如何使用指针来获取数组的长度。

      #include
      #include<数组> 使用命名空间
    126. std
    127. ;int
    128. main(){
    129.  
    130. 给定数组
    131.  
    132. int
    133. arr
    134. [6]
    135. =
    136. {5,4,3,2,1,0};
    137.    
    138. int
    139. len
    140. =
    141. *(&
    142. arr
    143. +
    144. 1)
    145. -
    146. arr
    147. ;
    148.  
    149. *(&arr + 1) 是下一个内存位置的地址
    150.  
    151. 紧跟在数组的最后一个元素之后
    152.     cout
    153. <<
    154. “数组的长度是:”
    155. <<
    156. len
    157. ;
    158.    
    159. 返回
    160. 0;}

      此代码的输出为:

      OutputThe length of the array is:6

      该表达式 *(arr+1) 为我们提供了数组最后一个元素之后的内存空间地址。因此,它与数组的起始位置或基址 (arr) 之间的差值为我们提供了给定数组中元素的总数。

      结论

      在本教程中,我们讨论了在 C++ 中查找数组长度的各种方法。尽管所有方法都以一种或另一种方式返回长度,但我们更喜欢使用 for-each 循环,这不仅是因为代码的可读性,还因为它的跨平台可靠性。

      引用

      • 如何找到数组的长度?- 堆栈溢出问题,

      • C++ 中的每个循环 - JournalDev 帖子。

本文是由用户"游客"发布,所有内容的版权归原作者所有。没有经过书面许可,任何单位或个人不得以任何形式复制、转载、引用本网站的内容。否则将追究法律责任。

相关专题