C++ 数组声明,初始化解读

2,419 阅读1分钟

数组(array)是一种复合类型的数据格式,能够存储多个同类型的值,每个值都存储在一个个独立的数组元素中,计算机将元素依次存储在内存中。

数组

数组声明

数组声明的基本格式如下:

typeName arrayName[arraySize];( eg. int cost[7]; )

  • 元素的类型
  • 数组名
  • 元素数(数组大小)

注意:

  1. arraySize不可以是一个变量
  2. 数组编号是从0开始的
    在这里插入图片描述

数组初始化

数组初始化有两种方法

  1. 使用索引为元素逐个赋值

cost[0] = 1; cost[1] = 2; ......

  1. 在声明时使用初始化列表赋值

int cost[7] = {1, 2, 3, 4, 5, 6, 7}; 也可以int cost[7] {1, 2, 3, 4, 5, 6, 7}; (C++11 标准可省略 = )

(C++11标准可将后面的大括号设置为空白,即所有元素全为0;

int cost[7] = { }; 或者 int cost[7] { };

列表初始化禁止缩窄转换;)

long shifs[4] = {2, 4, 3.0}; 浮点数转换为整数属于缩窄操作

数组初始化的规则

  • 只有定义数组时才能使用列表初始化
  • 可以随时使用下标为数组元素赋值
  • 不可将一个数组的赋给另一个数组
  • 列表初始化数组提供的值可以少于元素数目,未初始化的元素赋值为0
  • 列表初始化数组的[ ]内可以设置为空,编译器将自动计算元素个数