C++ 结构体2025年4月24日 | 阅读 8 分钟 在 C++ 中,结构体(structs)是用户定义的类型,用于创建结构化对象。它们允许我们将不同数据类型的变量收集到一个名称下。结构体通常用于轻量级对象,例如矩形、颜色、点等。在 C++ 中,结构体可以包含数据成员和 成员函数。 语法它具有以下语法: 在上面的声明中,通过在 struct 关键字后跟标识符(结构体名称)来声明一个结构体。在大括号 {} 中,我们可以声明不同类型的成员变量。 ![]() 在上面的示例中,tpointech 是一个结构体,包含三个变量:full_name、emp_id 和 salary。当结构体被声明时,不会分配内存。当创建结构体变量时,才会分配内存。 创建结构体变量一旦声明了结构体,就必须定义一个结构体变量来分配内存并存储数据。结构体变量的 数据类型 是结构体名称,后面跟着变量名。 语法 它具有以下语法: 这里,struct 是结构体的名称,Employee 是变量的名称。 初始化结构体成员在 C++ 中,无法在声明时在结构体定义中初始化结构体成员。下面的示例会导致 C++ 编译器错误: 在声明结构体变量时,可以使用花括号 {} 来初始化结构体成员。值的顺序按照结构体声明的成员顺序进行赋值。 在此示例中,程序将两个整数成员 q 和 j(代表坐标值)定义为 Coordinate 结构体的成员。main() 函数使用 {15, 25} 初始化结构体变量 point1,将 15 赋给 q,将 25 赋给 j。 访问结构体成员可以使用点 (.) 运算符直接访问结构体变量的任何成员。点运算符分隔结构体变量名和成员名。可以使用此方法检索或修改存储在结构体中的值。 C++ 结构体示例我们来看一个 C++ 程序,说明如何在 C++ 中访问结构体成员。 示例编译并运行输出 The First Name is: Alice The Last Name is: Johnson Age is: 20 The Grade is: 90.5 说明 在此示例中,程序定义的 Student 结构体的四个成员 first_name、last_name、age 和 grade 存储了学生的信息。在 main() 函数内,数据被声明在一个名为 student1 的结构体变量中。 之后,程序为 student1 的每个成员生成值,将名字设置为 "Alice",姓氏设置为 "Johnson",年龄设置为 20,分数设置为 90.5。 C++ 结构体中的成员函数在 C++ 中,结构体也可以拥有函数,这些函数可以直接对结构体的数据元素进行操作。这些成员函数与普通函数类似,但这些函数定义在结构体的作用域内。 通过将数据和行为组合到一个单元中,结构体变得更加灵活,这与类非常相似。C++ 结构体支持许多类组件,包括 访问修饰符、构造函数、析构函数 等等。 语法 它具有以下语法: C++ 结构体中的成员函数示例让我们看一个示例来说明 C++ 中使用结构体的成员函数。 示例编译并运行输出 The multiplication of 15 and 8 is: 120 说明 在此示例中,我们创建了一个名为 Multiplication 的结构体,它有两个数据成员 n1 和 n2。该结构体包含一个名为 multiply() 的成员函数,该函数返回 n1 和 n2 的乘积。然后,通过结构体变量 mul 调用成员函数。 C++ 中的结构体数组多个结构体变量可以顺序地存储在结构体数组中。使用点 (.) 运算符和数组索引来访问单个成员,数组中的每个元素代表结构体的一个实例。 C++ 结构体数组示例让我们看一个示例来说明 C++ 中的结构体数组。 示例编译并运行输出 5 10 15 20 说明 在此示例中,我们定义了一个名为 Point 的结构体,它表示坐标,并有两个整数成员 x 和 y。在 main() 函数中,在结构体数组 coordinates 中声明了两个元素,每个元素都用花括号 {} 初始化。 使用 cout 函数,在通过点 (.) 运算符访问之后,打印两个元素的 x 和 y 值。 C++ 中的结构体指针指向存储结构体变量内存地址的指针称为结构体指针。当使用结构体指针时,使用箭头 (->) 运算符来访问结构体成员,而不是点 (.) 运算符。 C++ 结构体指针示例下面的程序说明了 C++ 中的结构体指针 示例编译并运行输出 The length of a rectangle is: 10 The width of a rectangle is: 5 说明 程序通过定义一个具有两个整数成员 length 和 width 的 Rectangle 结构体来演示 C++ 中的结构体指针。声明并初始化了一个结构体变量 r1,其值为 {10, 5},并将指针 ptr 指向 r1 的地址。通过指针使用箭头 (->) 运算符访问并显示结构体成员。 C++ 中带 typedef 的结构体在 C++ 中,typedef 关键字允许我们为现有变量创建别名。它为结构体的实际名称创建了一个别名。当与结构体一起使用时,通过消除每次声明结构体变量时使用 struct 关键字的需要,可以使代码更具可读性和简洁性。 语法它具有以下语法: C++ 中带 typedef 的结构体示例让我们看一个示例来说明 C++ 中带 typedef 的结构体。 示例编译并运行输出 Student ID: 101 Student Name: Alice Marks: 78 说明 在此示例中,我们使用 typedef 定义了一个结构体,这样我们就可以直接使用 Student 而无需添加 struct 前缀。它创建了一个类型为 Student 的结构体变量 s1。然后,我们为 s1 的成员赋值。最后,cout 函数显示结果。 C++ 中结构体与类的区别C++ 中结构体与类之间的一些区别如下:
C++ 结构体选择题1. C++ 中 struct 的用途是什么?
答案:b) 将不同类型相关的变量分组到一个单元中 2. 在 C++ 中如何访问结构体成员?
答案:d) 使用 . 运算符 3. 定义 C++ 结构体时会发生什么?
答案:c) 它充当蓝图,仅在创建变量时分配内存。 4. C++ 结构体可以有成员函数吗?
答案:a) 是的,结构体可以同时拥有数据成员和成员函数 5. 如何在 C++ 中声明结构体数组?
答案:b) Student arr[5]; 下一主题C++ 枚举 |
教程 编译器 程序 OOPs STL 面试题 C++ 中的 OOPs (面向对象编程) 概念 主要目的是 C++ 编程是为了将面向对象概念引入 C 编程语言。对象...
阅读 10 分钟
在 C++ 中,纯虚函数是在基类中声明的虚拟函数,并且必须在派生类中重写。函数声明以 = 0 结尾,这表明它不能在类主体中包含任何默认实现。...
阅读 8 分钟
在 C++ 中,枚举 (Enum) 是一种用户定义的数据类型,包含一组固定的命名整数常量。我们可以使用 enum 关键字定义枚举。它有助于使代码更具可读性和可维护性。它可以用于星期(周日、周一、周二、...)
7 分钟阅读
在 C++ 编程中,this 是一个关键字,它引用类的当前实例。类对象可以在其成员函数中使用此指针访问自身。理解 this 指针是在我们需要在面向对象结构中进行操作时的关键前提...
阅读 10 分钟
在 C++ 中,友元函数是一个非成员函数,它可以访问类的私有和保护成员。该函数使用 friend 关键字在类中声明为友元。如果我们想将一个函数声明为友元...
阅读 10 分钟
在面向对象编程中,继承是最强大的概念之一。它允许一个类继承另一个类的特性和行为。重写是 C++ 编程中用于修改派生类中继承的成员函数行为的一种技术。在...
阅读 4 分钟
在 C++ 中,static 是一个关键字或修饰符,属于类型而不是实例。因此,不需要实例来访问静态成员。在 C++ 中,static 可以是字段、方法、构造函数、类、属性、运算符和事件。C++ 对各种函数使用 static 关键字...
阅读9分钟
C++ 提供了一些基本的数学函数,使用这些函数所需的头文件是 <math.h>。三角函数方法描述 cos(x) 计算 x 的余弦值。 sin(x) 计算 x 的正弦值。 tan(x) 计算 x 的正切值。 acos(x) 查找 x 的反余弦值。 asin(x) 查找 x 的反正弦值。 atan(x) ...
阅读 3 分钟
在 C++ 中,成员函数是定义在类内部并与该类的对象关联的函数。它提供对类成员的访问,并可以直接操作和修改它们。这些函数定义了对象的行为,并且可以...
11 分钟阅读
在 C++ 编程语言中,类和对象是导致 C++ 面向对象编程的基础构建块。它们以更有条理、可重用和可维护的方式提供代码。在 C++ 中,类充当定义对象如何构造的蓝图...
11 分钟阅读
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India