C++教程:结构体变量初始化详解

需积分: 16 3 下载量 164 浏览量 更新于2024-08-23 收藏 8.81MB PPT 举报
"对局部变量类型的结构体变量初始化-C++ 教程谭浩强" 在C++编程中,结构体(struct)是一种用户自定义的数据类型,允许我们组合不同类型的数据于一个单一的实体中,便于数据封装。本教程主要讲解如何对局部变量类型的结构体进行初始化。 首先,我们来看一下示例代码: ```cpp void main(void) { struct student { long int num; char name[20]; char sex; char addr[30]; } student1={901031, “Li Lin”, ‘M’, “123 Beijing Road”}; cout<<student1.name<<endl; } ``` 在这个例子中,`struct student` 是定义了一个名为 `student` 的结构体类型,包含四个成员:一个长整型变量 `num`,一个字符数组 `name`,一个字符变量 `sex` 和另一个字符数组 `addr`。接着,我们在 `main` 函数内部声明了一个 `student` 类型的局部变量 `student1`,并立即进行了初始化。 初始化过程是通过花括号 `{}` 来完成的,其中每个值对应结构体成员。`student1` 被赋予了以下值:`num` 设置为 901031,`name` 设置为 "Li Lin",`sex` 设置为 'M',`addr` 设置为 "123 Beijing Road"。这种初始化方式称为列表初始化,它允许我们按顺序为结构体的所有成员赋值。 输出语句 `cout << student1.name << endl;` 将打印出 `student1` 结构体中 `name` 字段的值,即 "Li Lin"。这展示了如何访问和输出结构体中的特定成员。 关于标签“数据封装”,在面向对象编程中,数据封装是核心概念之一。它指的是将数据和操作这些数据的方法捆绑在一起,形成一个独立的单元,防止外部代码直接访问和修改内部数据。虽然C++不是纯粹的面向对象语言,但结构体可以视作一种简单的数据封装形式。在这里,`student` 结构体封装了学生的信息,不允许外部直接访问其内部成员,除非通过结构体实例(如 `student1`)的公共接口。 这段内容还涉及了C++语言的发展历史,提到了C++是在C语言的基础上发展和完善而来的,保留了C语言的许多优点,例如结构化编程特性、丰富的运算符、良好的可移植性和高效的执行效率。同时,C++增加了类和对象等面向对象特性,增强了数据封装和抽象的能力。 C++语言的特点包括: 1. 结构化编程,语言简洁且灵活,适应各种规模的项目。 2. 高级语言与汇编语言特点的结合,支持位运算,提供强大的数据结构处理能力。 3. 可移植性强,程序可以在不同平台间轻松移植。 4. 语法相对宽松,给予程序员较大自由度,但这也增加了调试的难度。 本教程通过一个具体的示例,向读者介绍了如何在C++中初始化结构体变量,并简要回顾了C++语言的历史和特点,强调了数据封装的概念。对于初学者,理解这些基本概念对于掌握C++编程至关重要。