C++自定义数据类型:结构体实现链表输出
需积分: 29 55 浏览量
更新于2024-07-13
收藏 486KB PPT 举报
在C++中,自定义数据类型是通过创建结构体(struct)来实现的,结构体允许我们将不同类型的数据组合在一起形成一个全新的数据类型。例如,我们来看一个名为`STU`的结构体,它可能代表学生信息,包含`num`(整型)、`score`(浮点型)以及可能还有其他成员如姓名、性别和地址等。定义结构体的语法如下:
```cpp
struct STU {
int num;
float score;
// 其他成员...
};
```
函数`print(STU *head)`用于遍历并输出链表中的`STU`结构体数据。这里的链表是由`STU`结构体类型的节点构成的,每个节点通过`next`指针相连。遍历过程中,当前节点`p`首先指向头结点`head`,然后在`while`循环中,依次输出`num`和`score`,直到`p`变为`NULL`,表示链表结束。
```cpp
void print(STU *head) {
STU *p;
p = head;
while (p != NULL) {
cout << p->num << '\t' << p->score << '\n';
p = p->next;
}
}
```
在给出的链表中,我们可以看到节点的编号和数据,如`2000H`、`3000H`等,这些可能是内存地址或者特定的标识符。当调用`print`函数时,输出的格式是这样的:
```
A 3000H
B 3050H
C 6000H
D 2090H
B '\0'
```
这里`'\0'`通常表示字符串的结束标志。结构体变量`student1`、`student2`的定义方式有三种:
1. 先定义结构体类型再定义变量:
```cpp
struct Student {
int num;
char name[20];
char sex;
// ...
};
Student student1, student2;
```
2. 在定义类型的同时定义变量:
```cpp
struct Student {
int num;
char name[20];
char sex;
// ...
} student1, student2;
```
3. 直接定义结构体类型变量,不显示结构体名称:
```cpp
struct {
int num;
char name[20];
char sex;
// ...
} student1, student2;
```
结构体变量在内存中是按照成员的顺序存储的,且只在声明变量时分配内存,结构体类型本身不占用额外的空间。对于结构体中的成员,可以直接通过`.`运算符访问和赋值,它们的行为就像独立的变量一样。此外,结构体的成员还可以是其他结构体类型,如包含日期信息的`struct Date`。
总结来说,这段代码展示了如何在C++中使用自定义数据类型`STU`创建链表,并通过函数操作和显示这些数据。同时,它也演示了结构体的定义、变量的声明和内存管理规则。
2022-11-02 上传
2022-11-02 上传
2009-07-27 上传
点击了解资源详情
2009-05-09 上传
2019-03-28 上传
2013-11-30 上传
2009-05-16 上传
2007-08-14 上传
双联装三吋炮的娇喘
- 粉丝: 20
- 资源: 2万+
最新资源
- oracle常用经典sql查询
- JSP+oracle数据库编程中文指南
- PCA特征提取K均值聚类matlab代码
- sql语句大全2是1的补充
- 天书夜读(完整版)PDF版
- 本人提供SQL语句大全(转载) 12009年04月28日 星期二 19:35SQL语句大全(转载)
- SWT-JFace-in-Action.pdf
- MyEclipse 6 开发中文手册
- ActionScript_3.0_Cookbook_中文版
- spring开发指南电子书
- cookie的简单操作
- 预处理命令的学习心得.txt
- xml期末考试试题 xml期末考试试题
- struts国际化的使用
- 仓库温湿度的监测系统论文
- Weblogic管理指南