第四章 复合类型 1. 数组概述 1.1 数组的定义 数组(array)是一种数据格式,能够存储多个同类型的值.每个值都存储在一个独立的数组元素中,计算机在内存中依次存储数组的各个元素. 数组声明的三个特点: 存储在每个元素中的值的类型 数组名 数组中的元素数 C++中可以通过修改简单变量的声明,添加中括号(其中包含元素数目)来完成数组声明. 例如: short days[24]; // 一天有24个小时 1.2 数组的声明 声明数组的的一般语法格式为: // 数组类型 数组名字[数组的大小]…
第4章 复合类型 1. 如果将sizeof运算符用于数组名,得到的将是整个数组中的字节数. 2. 如果对数组的一部分进行初始化,则编译器把其他元素设置为0.因此,将数组中的所有元素初始化为0,只要显式地将第一个元素初始化为0. 如long totals[500] = {0}; C++的大括号初始化(列表初始化)方式可以用于所有的类型.数组以前就可以使用列表初始化,但C++11中的列表初始化新增加了一些功能. 首先,初始化数组时,可省略等号. 其次,可不在大括号内包含任何东西,这将把所有元素初始化…
1,复合类型主要包含:数组.结构.联合.枚举.类.指针.引用等. 2,数组.长度必须确定.即编译阶段,数组的长度就得确定好.所以只能使用常量(#define.const)声明数组长度.如果使用变量声明数组长度,编译器就不知道要分配多少的内存空间. 3,typeName arrayName[arraySize].数组下标从0开始. 4,数组初始化规则: c++:数组名是数组首元素的地址,不能将一个数组直接赋值给另一个数组.并且数组的初始化可以使用列表初始化,赋值只能通过一个元素一个元素赋值.如:…
二.第四章 复合类型  1.C-风格字符串:C-风格字符串具有一种特殊的性质:以空字符结尾,空字符被写成\0,其ASC||编码为0,用来标记字符串的结尾.例如: char dog[5]={'b','e','a','u','x'}; // not a string! char cat[5]={'f','a','t','s','\0'};  // a string! 这两个数组都是char数组,但只有第二个数组是字符串.空字符串对C-风格字符串至关重要.如果使用coiut显示上面的cat这样的字符串…
本章介绍的有复合类型有: 数组. 字符串. 结构. 共用体. 指针 数组: 声明数组时数组长度必须为常量(或const). 只有初始化时可以用“=”,其它时候均不可以给数组直接赋值,除了赋值的元素以外其它全默认为0: ] = {,}; 初始化时数组长度不设时,编译器会根据内容计算元素个数: ,,} 字符串: C风格的字符串后面都要有'\0',否则不是字符串:引号括起来的字符串隐藏带'\0': ] = {'x', 'j', 'p', '\0'}; ] = "ply"; 用cout输出时打…
*****代码在Debian g++ 5.3.1 / clang++ 3.8(C++11)下编写调试***** 由于部分编译器对标准遵循的不同以及自身额外的扩展,本章书中的少数知识点与实际实现存在偏差情况,在实际调试中存在差异时,以书本为准. 1.基本数据类型 计算机世界中的类型有很多,但是基本类型就那么几种,有基本数据类型,媒体类型,设备类型等,目前只学习数据类型.. 基本数据类型包括算术类型和空类型,算术又分为整数和浮点数(即小数).字符和布尔类型从属于整数,bool类型是C++内置类型,但…
C++Primer2.3节介绍了两种复合类型:引用和指针 1.引用 引用并非对象,它只是为一个已经存在的对象所起的别名. 一旦初始化完成,引用将和它的初始值对象一直绑定在一起,不能重新绑定到另一个对象,因此引用必须初始化. 定义引用时,程序把引用和它的初始值绑定到一起,而不是将初始值拷贝给引用. 引用本身不是一个对象,所以不能定义引用的引用 引用只能绑定在对象上,而不能与字面值或者某个表达式的结果绑定在一起. 引用的类型必须和与之绑定的对象的类型严格匹配.但是有两种例外情况: 1.初始化常量引用…
1.题略 #include int main(void) { int i; char ch[26]; for (i = 97; i <= (97+25); i++) { ch[i-97] = i; printf("ch[%d] = %c\n", i-97, ch[i-97]); } printf("That is all! thanks~\n"); return 0; } 这是之前写的,有点乱,改了些如下: #include int main(void) {…
Practice 1.输入名字和姓氏,以"名字,姓氏"的格式输出打印. #include int main(void) { char name[20]; char family[20]; printf("My Handsome Master, please enter your name: \n"); scanf("%s %s", &name, &family); //名字和姓氏一起读的话,需要先输入名字再输入姓氏,中间要有空白字…
复习c++,有必要对一些东西做一下笔记,方便以后学习,如有问题,欢迎提出. 首先,最常用两种复合类型应该是引用和指针. 所谓复合类型,是在基本类型基础(如:int)上定义的类型. 引用是c++的一个复合类型,首先,它和指针不同的是它并不是一个对象,仅仅只是另一个对象的别名.而且,引用绑定的东西必须是一个对象,引用不是对象,所以定义引用的引用是不合法的. 也不能定义字面量的引用.同时,普通引用的绑定对象与引用定义类型必须相同. 如: ;//错误的,不能定义字面量 double b = 1.22;…