C++ 结构体

前文

C++中的结构体是一种非常有用的数据类型,它允许我们将不同的变量组合在一起,形成一个自定义的数据结构。

结构体在C++中的应用非常广泛,它可以用来表示和管理各种实体、对象或数据的属性。比如,在一个学生管理系统中,我们可以使用结构体来定义一个学生对象,其中包含姓名、年龄、性别等属性;在一个图形绘制程序中,我们可以使用结构体来定义一个点或线段对象,其中包含横坐标、纵坐标等属性。

通过使用结构体,我们可以将相关的数据打包在一起,方便地进行传递、保存和处理。结构体还可以进行嵌套,即一个结构体中可以包含其他结构体,这样可以更灵活地表示复杂的数据关系。

在使用结构体时,我们可以声明结构体变量,并访问其成员变量。为了方便使用,可以使用.操作符来访问结构体的成员变量。例如,如果有一个名为 person 的结构体变量,其中有一个成员变量 name,我们可以通过person.name来访问它。

结构体的定义和使用使得C++编程更加灵活和高效,它提供了一种有效的方式来组织和管理数据,提高了程序的可读性和可维护性。

通过结构体,我们能够更好地利用C++的特性,编写出更加清晰、模块化的代码,使得程序的开发和维护变得更加便捷。

声明

当声明一个 C++ 结构体时,需要使用 struct 关键字,并为结构体指定一个名称。然后,在花括号 {} 中定义结构体的成员变量。

以下是一个声明一个名为 Person 的结构体的例子:

cpp 复制代码
struct Person {
    string name;
    int age;
    double height;
};

上述代码中,我们声明了一个名为 Person 的结构体,它有三个成员变量:name、age 和 height 分别表示人的姓名、年龄和身高。

你可以根据自己的需求来定义结构体的成员变量类型及其数量。在这个例子中,我们使用了 string 类型来表示字符串,int 类型来表示年龄,double 类型来表示身高。你也可以使用其他基本数据类型或者其他结构体类型。

访问

一旦声明了结构体,你就可以在程序的其他地方使用该结构体来创建变量,并访问其成员变量。例如:

cpp 复制代码
Person p1;
p1.name = "Jack";
p1.age = 20;
p1.height = 1.75;

上述代码创建了一个名为 p1 的 Person 结构体变量,并给它的成员变量赋值。通过使用结构体变量的名称和.操作符,你可以访问和修改结构体的各个成员变量。

这样,你就完成了一个简单的结构体声明,并可以在程序中使用该结构体来组织和管理数据。

输出

当我们声明了结构体后,可以使用结构体变量来输出其成员变量的值。下面是一个示例代码:

cpp 复制代码
#include <iostream>
#include <string>
using namespace std;

struct Person {
    string name;
    int age;
    double height;
};

int main() {
    Person p1;
    p1.name = "Jack";
    p1.age = 20;
    p1.height = 1.75;

    // 输出结构体成员变量的值
    cout << "Name: " << p1.name << endl;
    cout << "Age: " << p1.age << endl;
    cout << "Height: " << p1.height << endl;

    return 0;
}

在上述代码中,我们使用了 cout 来输出结构体 Person 的成员变量的值。通过结构体变量 p1 和.操作符,我们可以访问并输出其成员变量 name、age 和 height。

运行这段代码,输出的结果将会是:

python 复制代码
Name: Jack
Age: 20
Height: 1.75

这样,我们就可以通过结构体变量方便地输出结构体成员变量的值。根据需要,你还可以进行更多的输出格式化和操作符重载,以满足具体的输出需求。

循环输出

当涉及到输出结构体数组或者通过循环输出多个结构体时,我们可以使用循环语句来逐个输出每个结构体的成员变量值。下面是一个示例代码:

cpp 复制代码
#include <iostream>
#include <string>
using namespace std;

struct Person {
    string name;
    int age;
    double height;
};

int main() {
    Person people[3];

    // 给结构体数组赋值
    people[0] = {"Alice", 25, 1.65};
    people[1] = {"Bob", 30, 1.8};
    people[2] = {"Charlie", 35, 1.75};

    // 使用循环输出每个结构体的成员变量值
    for (int i = 0; i < 3; i++) {
        cout << "Person " << i + 1 << ":" << endl;
        cout << "Name: " << people[i].name << endl;
        cout << "Age: " << people[i].age << endl;
        cout << "Height: " << people[i].height << endl;
        cout << endl;
    }

    return 0;
}

在上述代码中,我们声明了一个结构体数组 people,并给其每个元素赋值。然后,通过使用循环语句,我们逐个输出每个结构体的成员变量值。

运行这段代码,输出的结果将会是:

cpp 复制代码
Person 1:
Name: Alice
Age: 25
Height: 1.65

Person 2:
Name: Bob
Age: 30
Height: 1.8

Person 3:
Name: Charlie
Age: 35
Height: 1.75

这样,我们可以通过循环输出多个结构体的成员变量值,以便清晰地展示每个结构体的信息。根据需要,你还可以进行更多的输出格式化和操作符重载,以满足具体的输出需求。

结尾

结构体数组在实际编程中非常有用,可以用于存储和处理多个相关的数据。你可以根据自己的需要扩展和修改这个示例,进一步深入学习和探索结构体的用法。

相关推荐
秋饼13 分钟前
LLM API密钥动态轮换实战:Spring Vault + Spring AI + 多Provider路由
java·ai·技术分享·后端开发
福兮说2 小时前
JSON 格式正确,数据就可靠吗?我用一份自编配置检查类型与空值
java·前端·json
quaer2 小时前
弗洛伊德算法--判圈法寻找环的入口O(n) O(1)
数据结构·算法
紧跟先前的步伐3 小时前
Go AI Agent 实战 03|Token、上下文窗口与模型调用成本
java·人工智能·golang
丰色木夕3 小时前
Ubuntu22.04下源码编译安装USD-Brep
c++·ubuntu·nvidia·usd-brep
const_qiu4 小时前
第四章 00:开篇 —— 从「会聊天」到「记得住、会干活、能协作」
java·开发语言·人工智能·python
Wang's Blog4 小时前
Java 项目实战: 交友项目 - 个人资料管理的更新接口实现与坑
java·开发语言·交友
Promising_GEO4 小时前
GEE实战02期:从卫星波段开始:利用 Sentinel-2 自己计算 NDVI
java·sentinel·遥感·空间分析
大文说跨境4 小时前
亚马逊多账号管理浏览器怎么选?云登/紫鸟/AdsPower 对比
java·前端·自动化
CoderYanger4 小时前
Java EE 进阶:4.Spring Web MVC 入门(第一弹)
java·开发语言·前端·spring·面试·java-ee·mvc