【C++基础】数组

本文收录于 《C++编程入门》专栏,从零基础开始,介绍C++编程入门相关的内容,欢迎关注,谢谢!

一、前言

C++中的数组是一种数据结构,用于存储相同类型元素的固定大小的集合。数组在内存中占据连续的存储位置,使得访问元素时效率较高。了解C++语言中数组,对学习C++编程很重要。所以,本文对C++语言中数组进行简单的介绍。

众所周知,C++ 是一种‌通用、高性能的编程语言‌,支持‌多范式编程‌(面向对象、泛型、过程化),由本贾尼·斯特劳斯特卢普( ‌Bjarne Stroustrup‌ )于 1985 年基于 C 语言扩展而来。

官网地址:https://cplusplus.com/doc/

参考手册:https://cppreference.cn/w/

在这里插入图片描述

话不多说,我们一起进入正题吧。

二、数组介绍

(一)、数组的声明

在C++中,声明一个数组需要指定元素的类型和元素的数量。其语法如下:

type arrayName[arraySize];

其中,type 是数组元素的类型,arrayName 是数组的名称,arraySize 是一个大于零的整数常量,表示数组的大小。

例如,声明一个包含10个整数的数组可以这样写:

int numbers[10];
(二)、数组的初始化

数组的初始化可以通过以下两种方式进行:

  1. 逐个初始化:在声明数组的同时为每个元素赋值。
int numbers[5] = {1, 2, 3, 4, 5};
  1. 列表初始化:如果初始化值的数量少于数组大小,剩余的元素将自动初始化为零(对于数值类型)或空(对于字符串类型)。
int numbers = {1, 2, 3};
// numbers数组的前三个元素分别为1, 2, 3,后两个元素为0

如果省略数组的大小,C++会根据初始化列表中的元素数量自动推断数组的大小:

int numbers[] = {1, 2, 3, 4, 5};
// numbers数组的大小将自动推断为5
(三)、访问数组元素

数组元素通过索引访问,索引从0开始。例如,要访问数组中的第一个元素,可以使用以下语法:

int firstElement = numbers[0];
(四)、实例解析

下面通过一个实例来展示数组的声明、初始化和访问:

#include <iostream>
#include <iomanip>

using namespace std;

int main() {
    // 声明并初始化一个包含10个整数的数组
    int numbers[10];

    // 使用循环为数组元素赋值
    for (int i = 0; i < 10; i++) {
        numbers[i] = i + 1;
    }

    // 输出数组中的每个元素
    for (int j = 0; j < 10; j++) {
        cout << numbers[j] << endl;
    }

    return 0;
}
(五)、多维数组

C++支持多维数组,最常见的形式是二维数组。声明一个 x 行 y 列的二维整型数组,形式如下:

type arrayName [ x ][ y ];

以下示例,将创建一个5行2列的二维数组,并打印输出数组中的元素值。

#include <iostream>
using namespace std;
 
int main ()
{
   // 一个带有 5 行 2 列的数组
   int a[5][2] = { {0,0}, {1,2}, {2,4}, {3,6},{4,8}};
 
   // 输出数组中每个元素的值                      
   for ( int i = 0; i < 5; i++ )
      for ( int j = 0; j < 2; j++ )
      {
         cout << "a[" << i << "][" << j << "]: ";
         cout << a[i][j]<< endl;
      }
 
   return 0;
}

输出结果如下:

a[0][0]: 0
a[0][1]: 0
a[1][0]: 1
a[1][1]: 2
a[2][0]: 2
a[2][1]: 4
a[3][0]: 3
a[3][1]: 6
a[4][0]: 4
a[4][1]: 8

三、总结

数组是C++中一种重要的数据结构,能够高效地存储和访问大量数据。理解数组的声明、初始化和访问操作是掌握C++编程的基础。希望对大家有帮助,谢谢。

如果您对文章中内容有疑问,欢迎在评论区进行留言,我会尽量抽时间给您回复。如果文章对您有帮助,欢迎点赞、收藏。您的点赞,是对我最大的支持和鼓励,谢谢 :-)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

姑苏老陈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值