复合类型:基于基本类型和浮点类型创建
4.1 数组
一、定义:
数组是一种数据格式,能够存储多个同类型的值。
二、数组声明:
条件:
- 存储在每个元素中的值的类型;
- 数组名;
- 数组中的元素数;
格式:
typeName arrayName[arraySize];
注意:表达式arraySize指定元素数目,它必须是整型常数(如10)或const值,也可以是常量表达式(如8*sizeof(int)),即其中所有的值在编译时都是已知的。具体地说,arraySize不能是变量,变量的值是在程序运行时设置的。然而,可以使用new运算符来避开这种限制。
使用:可以单独访问数组元素。方法是使用下标或索引来对元素进行编码。C++数组从0开始编号。
有效下标值的重要性:如果将一个值赋给不存在的元素months[101],编译器并不会指出错误。但是程序运行后,这种赋值可能引发问题。
sizeof运算符:
注:sizeof运算符返回类型或数据对象的长度(单位为字节)。如果将sizeof运算符用于数组名,得到的将是整个数组中的字节数。
三、数组的初始化规则
- 只有在定义数组时才能使用初始化,以后就不能使用了,也不能将一个数组赋给另一个数组;
- 然而,可以使用下标分别给数组中的元素赋值;
- 初始化数组时,提供的值可以少于数组的元素数目;
- 如果初始化数组时方括号([])为空,C++编译器将计算元素个数。
四、C++11数组的初始化方法:(新增功能)
- 初始化数组时,可省略等号(=);
- 可不在大括号内包含任何东西,这将把所有元素都设置为零;
- 列表初始化禁止缩窄转换;
STL提供了一种数组替代品——模板类rector,C++11新增了模板类array。
4.2字符串
一、C++处理字符串的方式:
①第一种来自C语言,常被称为C-风格字符串;
②另一种基于string类库的方法。
二、C-风格字符串
1、存储在char数组中。
2、特殊的性质:以空字符(null character)结尾,空字符被写作 ,其中ASCII码为0,用来标记字符串的结尾。
3、字符串定义、赋值
① 大量单引号
char cat[4] = {'c','a','t','