第四章 复合类型

复合类型:基于基本类型和浮点类型建立数组

4.1 数组

1、定义:

数组是一种数据格式,可以存储多个同类型的值。编码

2、数组声明:

  条件:spa

  1. 存储在每一个元素中的值的类型;
  2. 数组名;
  3. 数组中的元素数;

  格式:code

  

typeName arrayName[arraySize];

  注意:表达式arraySize指定元素数目,它必须是整型常数(如10)或const值,也能够是常量表达式(如8*sizeof(int)),即其中全部的值在编译时都是已知的。具体地说,arraySize不能是变量,变量的值是在程序运行时设置的。然而,能够使用new运算符来避开这种限制。对象

  使用:能够单独访问数组元素。方法是使用下标或索引来对元素进行编码。C++数组从0开始编号。blog

  有效下标值的重要性:若是将一个值赋给不存在的元素months[101],编译器并不会指出错误。可是程序运行后,这种赋值可能引起问题。索引

  sizeof运算符:内存

  注:sizeof运算符返回类型或数据对象的长度(单位为字节)。若是将sizeof运算符用于数组名,获得的将是整个数组中的字节数。字符串

3、数组的初始化规则

  1. 只有在定义数组时才能使用初始化,之后就不能使用了,也不能将一个数组赋给另外一个数组;
  2. 然而,能够使用下标分别给数组中的元素赋值;
  3. 初始化数组时,提供的值能够少于数组的元素数目;
  4. 若是初始化数组时方括号([])为空,C++编译器将计算元素个数。

4、C++11数组的初始化方法:(新增功能)

  1. 初始化数组时,可省略等号(=);
  2. 可不在大括号内包含任何东西,这将把全部元素都设置为零;
  3. 列表初始化禁止缩窄转换;

STL提供了一种数组替代品——模板类rector,C++11新增了模板类array。编译器

4.2字符串

1、C++处理字符串的方式:

  ①第一种来自C语言,常被称为C-风格字符串;

  ②另外一种基于string类库的方法。

2、C-风格字符串

  一、存储在char数组中。

  二、特殊的性质:以空字符(null character)结尾,空字符被写做\0,其中ASCII码为0,用来标记字符串的结尾。

  三、字符串定义、赋值

    ① 大量单引号

char cat[4] = {'c','a','t','\0'};

    ②使用一个双引号括起来字符串,这种字符串被称为字符串常量或字符串字面值。

char bird[11] = "Mr.Cheeps";
char fish[] = "Bubbles";

注意:字符串常量(使用双引号)不能与字符常量(使用单引号)互换。

  ‘S’是字符串编码的简写表示。在ASCII系统上,‘S’只是83的另外一种写法;

  “S”实际上表示的是字符串所在的内存地址。

  四、拼接字符串常量:

  任何两个有空白(空格、制表符和换行符)分隔的字符串常量都将自动拼接成一个。

  注意:拼接时不会再被链接的字符串之间添加空格。忽视\0。

相关文章
相关标签/搜索