07. 结构体

1.结构体简介

2.结构体的使用

3.结构体与类的区别


1.结构体简介

结构体(struct)是C++中用户自定义的复合数据类型, 它允许你将不同类型的变量(比如intstringdouble)组合成一个

新的、有意义的整体; 可以把它理解为一个"自定义数据包", 用来封装一组相关联的数据(比如学生的学号、姓名、成绩)

2.结构体的使用

1).结构体的定义, "注意末尾分号不能省略"

struct 结构体名称 {
    // 成员变量(可包含不同数据类型)
    数据类型 成员名1;
    数据类型 成员名2;
    // ... 更多成员
};  // 分号是必须的!
#include <iostream>
#include <string>  // 使用string类型需要包含此头文件
using namespace std;

// 定义Student结构体,封装学生信息
struct Student {
    int id;         // 学号(整型)
    string name;    // 姓名(字符串)
    double score;   // 成绩(浮点型)
};  // 切记分号!

2).结构体的基本使用

a.先定义后赋值

int main() {
    // 创建Student类型的变量stu1
    Student stu1;
    
    // 给成员变量赋值
    stu1.id = 1001;
    stu1.name = "张三";
    stu1.score = 95.5;
    
    // 输出成员变量
    cout << "学号:" << stu1.id << endl;
    cout << "姓名:" << stu1.name << endl;
    cout << "成绩:" << stu1.score << endl;
    
    return 0;
}
b.定义时直接初始化(C++11 及以上)

int main() {
    // 直接初始化结构体变量
    Student stu2 = {1002, "李四", 88.0};
    
    cout << "学号:" << stu2.id << endl;
    cout << "姓名:" << stu2.name << endl;
    cout << "成绩:" << stu2.score << endl;
    
    return 0;
}
c.指定成员初始化

int main() {
    Student stu3 = {
        .id = 1003,
        .name = "王五",
        .score = 92.8
    };
    
    cout << "学号:" << stu3.id << endl;
    cout << "姓名:" << stu3.name << endl;
    cout << "成绩:" << stu3.score << endl;
    
    return 0;
}

3.结构体与类的区别

C++中的struct不再只是"数据打包", 而是具备类(class)的大部分特性, 核心区别仅在于:

a.struct的成员默认访问权限是public

b.class的成员默认访问权限是private
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值