C++自定义数据类型:结构体及其应用
需积分: 29 98 浏览量
更新于2024-07-13
收藏 486KB PPT 举报
"该资源主要介绍了C++中的自定义数据类型,特别是结构体(struct)的定义和使用方法。通过示例程序展示了如何定义结构体类型以及如何引用结构体成员。"
在C++中,自定义数据类型允许程序员根据需求创建新的复合数据类型,结构体就是其中一种重要的方式。结构体可以将不同类型的数据有序地组合在一起,形成一个新的数据类型。在提供的描述中,程序`cout<<sizeof(Date)<<endl;`输出了结构体`Date`的大小,结果为12字节,这表明结构体占用的内存空间等于其所有成员占用的空间之和。
结构体的定义语法如下:
```cpp
struct 结构体名 {
成员类型 成员名1;
成员类型 成员名2;
...
};
```
在这个例子中,定义了一个名为`Date`的结构体,包含三个整型成员`year`、`month`和`day`。
在C++中,定义结构体类型后,可以按照以下几种方式来声明和初始化结构体变量:
1. 先定义结构体类型,然后声明变量:
```cpp
struct Student {
int num;
char name[20];
char sex;
int age;
float score;
char addr[30];
};
Student student1, student2;
```
2. 在定义类型的同时定义变量:
```cpp
struct Student {
int num;
char name[20];
char sex;
int age;
float score;
char addr[30];
} student1, student2;
```
3. 直接定义结构体类型变量,不出现结构体名:
```cpp
struct {
int num;
char name[20];
char sex;
int age;
float score;
char addr[30];
} student1, student2;
```
在内存中,结构体类型的变量按照其成员的顺序排列,所占内存空间的大小是所有成员所占空间的总和。每个成员可以单独被引用和赋值,如`student1.num = 123;`。结构体的成员也可以是另一个结构体类型,如`struct Student`中包含了一个`Date`类型的成员`birthday`,这样就形成了嵌套结构。
此外,结构体成员可以与程序中其他变量的名称相同,因为它们分别存储在不同的内存位置,互不影响。例如,即使定义了`int num`,它与`struct Student`中的`num`成员是完全独立的。
结构体类型的变量在编译时分配内存,而结构体类型本身并不占用内存,只是一种类型定义。因此,使用结构体可以更有效地组织和管理复杂的数据结构,提高代码的可读性和复用性。在实际编程中,结构体广泛应用于各种场景,如表示日期、时间、地址、用户信息等。
331 浏览量
2017-01-15 上传
2011-12-09 上传
2020-08-26 上传
140 浏览量
点击了解资源详情
点击了解资源详情
点击了解资源详情
冀北老许
- 粉丝: 17
- 资源: 2万+
最新资源
- 深入浅出:自定义 Grunt 任务的实践指南
- 网络物理突变工具的多点路径规划实现与分析
- multifeed: 实现多作者间的超核心共享与同步技术
- C++商品交易系统实习项目详细要求
- macOS系统Python模块whl包安装教程
- 掌握fullstackJS:构建React框架与快速开发应用
- React-Purify: 实现React组件纯净方法的工具介绍
- deck.js:构建现代HTML演示的JavaScript库
- nunn:现代C++17实现的机器学习库开源项目
- Python安装包 Acquisition-4.12-cp35-cp35m-win_amd64.whl.zip 使用说明
- Amaranthus-tuberculatus基因组分析脚本集
- Ubuntu 12.04下Realtek RTL8821AE驱动的向后移植指南
- 掌握Jest环境下的最新jsdom功能
- CAGI Toolkit:开源Asterisk PBX的AGI应用开发
- MyDropDemo: 体验QGraphicsView的拖放功能
- 远程FPGA平台上的Quartus II17.1 LCD色块闪烁现象解析