三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

【C++】零基础入门 · 第 10 节:结构体与类

【C++】零基础入门 · 第 10 节:结构体与类

在前面的章节中,我们学习了变量、数组、函数、指针和动态内存。这些都是 C++ 的基础构件,但随着程序变得越来越复杂,你会发现一个问题:相关的数据散落在各个变量里,传递和管理起来非常麻烦。比如要表示一个学生的信息(姓名、年龄、成绩),你得定义三个独立的变量,每次传递给函数时都要传三个参数。有没有更好的方式?当然有——结构体就是用来把相关数据「打包」在一起的工具。

1. 结构体(struct)

结构体是 C++ 中最简单的「自定义数据类型」。它允许你把多个不同类型的变量组合在一起,形成一个新的类型。

1.1 定义结构体

structStudent{string name;intage;doublescore;};

这段代码定义了一个名为Student的结构体,它包含三个成员:name(字符串类型)、age(整数类型)和score(浮点类型)。注意结尾的分号不能省略。

结构体定义通常放在main函数之前(全局作用域),这样整个文件都能使用它。

1.2 创建结构体变量

定义好结构体之后,就可以像使用intdouble一样创建变量:

#include<iostream>#include<string>usingnamespacestd;structStudent{string name;intage;doublescore;};intmain(){Student s1;// 声明一个 Student 类型的变量s1.name="张三";// 用 . 运算符访问成员s1.age=20;s1.score=92.5;cout<<s1.name<<","<<s1.age<<" 岁,成绩:"<<s1.score<<endl;// 输出:张三,20 岁,成绩:92.5return0;}

.(成员访问运算符)可以读写结构体中的各个成员。

1.3 初始化方式

结构体有多种初始化方式:

// 方式一:逐个赋值Student s1;s1.name="张三";s1.age=20;s1.score=92.5;// 方式二:列表初始化(按成员顺序)Student s2={"李四",21,88.0};// 方式三:指定成员初始化(C++20)Student s3={.name="王五",.age=19,.score=95.0};

← 返回列表