首页 > 编程笔记 > C++笔记 阅读:4

C++一维数组的声明和初始化(附带实例)

C++ 程序设计中,将一组数据类型相同的数据按一定形式有序地组织起来,这样的线性序列称为数组。每个数组都有一个数组名,通过数组名和下标可以唯一地确定一个数组元素。

C++一维数组的声明

一维数组的声明形式如下:
数据类型 数组名[常量表达式]

例如:
int a[10];      // 声明一个整型数组,包含 10 个元素
char name[128]; // 声明一个字符型数组,包含 128 个元素
float price[20]; // 声明一个浮点型数组,包含 20 个元素
使用一维数组的说明如下:
例如,下面的定义形式是不合法的:
int a[i];  // 不合法的定义,数组长度不能是变量

C++一维数组元素的引用

一维数组元素的引用形式为“数组名[下标]”。例如,有如下数组声明:
int a[10]; // 声明一个整形数组,包含 10 个元素
则 a[0]、a[1]、a[2]、a[3]、a[4]、a[5]、a[6]、a[7]、a[8]、a[9] 是对数组 a 中 10 个元素的引用。

引用一维数组元素时,需要注意:数组元素的下标起始值是 0,而不是 1。因此,一个包含 n 个元素的数组,其数组下标最大值是 n-1,而不是 n。

注意,上述定义的数组 a 中,a[10] 元素是不存在的,引用 a[10] 属于下标越界,容易造成程序瘫痪。

C++一维数组的初始化

数组元素初始化的方式有两种:一种是逐一对各元素进行赋值,另一种是使用聚合方式赋值。

1) 逐一对数组元素赋值

最常见的数组赋值方式就是引用数组元素并逐一赋值。

例如:
#include <iostream>
using namespace std;
int main()
{
    char a[3];  // 定义字符数组 a
    a[0] = 'a';  // 为第 1 个元素赋值 'a'
    a[1] = 'b';  // 为第 2 个元素赋值 'b'
    a[2] = 'c';  // 为第 3 个元素赋值 'c'
    int i = 0;
    cout << a[i] << endl;  // 输出第 1 个数组元素
}
程序运行结果如下图所示:

a

2) 聚合方式赋值

除了可逐一对数组元素赋值外,还可以通过大括号同时对多个数组元素赋值:
例如:
int a[12] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};  // 为数组 a 的 12 个元素赋值
int b[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};    // 未指定数组 b 长度,默认全部赋值,数组共 12 个元素
int c[12] = {1, 2, 3, 4, 5, 6, 7};                    // 数组 c 的前 7 个元素被赋值,后 5 个元素未被赋值,默认被赋值 0

【实例】使用数组保存用户输入的手机号。代码如下:
#include <iostream>
using namespace std;
int main()
{
    int iArray[11], index;  // 定义数组及变量为基本整型
    printf("请输入手机号:\n");
    for (index = 0; index < 11; index++)  // for 循环,逐个输入数组元素,用空格隔开
    {
        cin >> iArray[index];
    }
    printf("手机号是:\n");
    for (index = 0; index < 11; index++)  // for 循环,依次输出数组元素
    {
        cout << iArray[index];
    }
    printf("\n");
    return 0;
}
程序运行结果如下图所示:

1 2 3 4 5 6 7 8 9 1 2
手机号是:
12345678912

程序通过 for 循环为 int iArray[10] 定义的数组中的每个元素赋值,再通过一个 for 循环用 cout 将数组中的元素值输出到显示设备。

相关文章