"C++程序设计 - 谭浩强 - 清华大学出版社 - 由南京理工大学陈清华朱红制作的课件"
在C++编程语言中,结构体(struct)是一种用户自定义的数据类型,它允许我们将多个不同类型的数据组合成一个单一的实体。在C++中定义结构体类型变量的方法主要分为以下几步:
1. 首先,我们需要使用`struct`关键字声明一个新的结构体类型。例如,在给定的描述中,我们定义了一个名为`student`的结构体,包含成员变量`num`(整型),`name`(字符数组),`sex`(字符型),`age`(整型),`score`(浮点型)和`addr`(字符数组)。
```cpp
struct student {
int num;
char name[20];
char sex;
int age;
float score;
char addr[30];
};
```
2. 定义完结构体类型之后,我们可以使用这个类型创建结构体变量。在例子中,我们创建了两个名为`student1`和`student2`的结构体变量:
```cpp
struct student student1, student2;
```
这里,`student1`和`student2`都是`student`类型的实例,它们各自在内存中分配足够的空间来存储结构体中的所有成员。
请注意,结构体类型本身并不占用内存空间,只有当我们创建结构体变量时,系统才会为这些变量分配内存。这意味着定义结构体类型只是一个声明,它告诉编译器存在这样的数据类型,而具体的数据存储是在实际创建结构体变量时进行的。
C++的发展历程中,从早期的BCPL、B语言,到Dennis Ritchie和Brian Kernighan设计的C语言,再到C++的出现,每一步都体现了语言的进步和增强。C++在C语言的基础上增加了面向对象编程的概念,如类、对象、封装、继承和多态等特性,使其不仅保持了C语言的高效性和灵活性,同时也引入了更高级别的抽象能力。
C语言的主要特点包括:
1. 结构化编程:C语言支持结构化编程,使得程序的组织和模块化更加清晰。
2. 高级与低级语言的结合:C语言提供了丰富的运算符,包括位运算,这使得它既能处理复杂的逻辑,也能进行底层硬件操作。
3. 可移植性:C语言编写的程序可以在多种不同的计算机平台上运行,只需少量或无需修改。
4. 语法自由度:C语言对程序员的约束相对较少,但也带来了调试难度,需要对语言有深入理解才能编写出高质量的代码。
C++则在C语言的基础上添加了类和对象等面向对象特性,以及模板、异常处理和STL(标准模板库)等现代编程工具,使程序设计更加灵活和强大。虽然学习曲线相对较陡,但熟练掌握C++后,可以编写出高性能且易于维护的软件。