C++基础篇(四)结构体及示例 您所在的位置:网站首页 结构体定义及使用 C++基础篇(四)结构体及示例

C++基础篇(四)结构体及示例

2024-07-18 02:20| 来源: 网络整理| 查看: 265

目录 一、结构体的定义和使用1、定义2、基本使用 二、其他应用1、结构体数组2、结构体指针3、结构体嵌套结构体4、结构体作为函数参数5、结构体中const的使用

一、结构体的定义和使用 1、定义

结构体是用户根据需求自定义的数据类型,允许用户储存基本数据类型之外的数据, 结构体是C++中一种复合数据类型,它允许将多个不同类型的变量组合在一起。结构体通常用来表示一组相关的数据。

结构体的定义通常遵循以下格式:

struct StructName { DataType1 member1; DataType2 member2; ... DataTypeN memberN; };

其中,StructName是结构体的名称,DataType是成员的数据类型,member是成员的名称。 示例:

struct Student { string name; int age; double gpa; };

在上面的代码中,定义了一个名为Student的结构体。这个结构体包含三个成员:name、age和gpa。它们分别表示学生的姓名、年龄和平均成绩。

2、基本使用

要使用一个结构体,需要先声明一个结构体变量。结构体变量的声明通常遵循以下格式:

StructName variableName;

其中,StructName是结构体的名称,variableName是变量的名称。

例如,下面是一个简单的结构体变量声明的例子:

Student s;//声明了一个Student类型的变量s

接下来,可以使用点运算符.来访问和修改结构体变量中的成员。

s.name = "Alice"; s.age = 20; s.gpa = 3.9; cout "李四", 19, 85.0}, {"王五", 20, 95.5} };

计算平均成绩:

// 计算平均成绩 float sum = 0; for (int i = 0; i "张三", 18, 90.5}; // 定义一个指向学生结构体的指针 Student *pStu = &stu; // 使用指针访问和修改结构体中的数据 cout string name; // 姓名 int age; // 年龄 float score; // 成绩 struct Address address; // 地址信息 };

使用和访问:

// 定义一个学生结构体 Student stu = {"张三", 18, 90.5, {"北京", "长安街", 100000}}; // 访问学生的地址信息 cout cout const string name; // 姓名(不可修改) int age; // 年龄 float score; // 成绩 }; int main() { // 定义一个学生结构体 Student stu = {"张三", 18, 90.5}; // 尝试修改学生的姓名(会编译错误) // stu.name = "李四"; return 0; }

除了在定义结构体时使用 const 关键字修饰成员变量外,我们还可以在定义结构体指针时使用 const 关键字。例如:

Student stu = {"张三", 18, 90.5}; const Student *pStu = &stu;

上面的代码定义了一个指向 Student 类型的指针 pStu,并使用 const 关键字修饰,也叫常量指针。这表示不能通过 pStu 指针来修改它所指向的结构体的值。因此,下面的代码会发生编译错误:

pStu->age = 20; // 编译错误

更多指针的用法以及指针和const的使用详见博客C++基础篇(三)指针详解与示例



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有