C++数组
定义
数组的长度是固定的,一经创建就不允许添加新的元素
不允许使用另一个数组对数组初始化
int a[12]; int b = a; //error int b[](a); //error
数组是一种复合数据类型 ,其主要构成:
-
- 类型名
- 可以是C++内置数据类型
- 类类型
- 除引用外的复合数据类型
- 标识符
- 维数
- 必须是(>=1 的)常量表达式,要运行时才知道的变量不能用于数组定义
- 类型名
-
初始化
显示初始化
const unsigned array_size = 3 ; int ia [array_size] = {1,2,3};
- 如果没有显示初始化:
-
- 函数体外的内置数组,其元素初始化为 0
- 函数体内的内置数组,其元素不初始化
- 若元素为类类型, 自动调用类的默认构造函数初始化
- 显示初始化 {} 内元素个数n1 与维数n2不匹配
-
- 维数n2更大,剩余的自动初始化为0 或调用类构造函数初始化
- 个数n1更大,出错
特殊的字符数组
初始化
-
- 用字符字面值初始化
char ca1[] = {'a','b','c'}
- 用字符串字面值初始化,多了 ‘\0’ 结尾
char ca2[] = "abc"; // 相当于: // char ca2[] = {'a','b','c','\0'}
-