C++结构体定义

C++结构体定义教程

C++ 中,我们定义一个 结构体,需要使用 struct 关键字,struct 关键字后面加结构体名,同时,结构体的成员可以有任意多个,且是任意 类型,包括结构体类型。

C++结构体定义

语法

struct structName{ fieldType1 filed1; fieldType2 filed2; fieldType3 filed3; };

参数

参数 描述
struct 定义结构体使用的关键字。
structName 结构体名。
fieldType1 结构体成员变量的类型。
filed1 结构体成员变量名。

说明

我们使用 struct 定义了一个结构体 structName,该结构体有三个字段,字段名分别为 filed1、filed2 和 filed3,它们的类型分别为 fieldType1、fieldType2 和 fieldType3。

同时,这里的 fieldType3 可以是任意类型,包括可以是结构体类型。

注意

定义结构体时,每个字段名后面都需要使用 ; 结尾,同时,结构体定义的最后的大括号后面,同样需要使用 ; 结尾,如果没有分号,则程序会报错。

C++定义结构体变量

语法

struct structName structVar;

参数

参数 描述
struct 定义结构体变量使用的关键字。
structName 结构体名。
structVar 结构体变量名。

说明

我们使用 struct 关键字,定义了一个结构体 structName 类型的 变量 structVar,我们在定义结构体变量时需要使用 struct 关键字。

案例

C++结构体定义

定义结构体变量

#include <iostream> using namespace std; struct Student{ char *name; int age; float score; }; int main() { cout << "嗨客网(www.haicoder.net)\n" << endl; struct Student student; student.name = "HaiCoder"; student.age = 13; student.score = 89.5; cout << "Name = " << student.name << " Age = " << student.age << " Score = " << student.score << endl; return 0; }

程序运行后,控制台输出如下图所示:

02_C结构体struct定义.png

我们首先,定义了一个结构体 Student,该结构体有三个成员,即一个 字符串 类型的 name、一个 int 类型 的 age 和一个 float 类型 的 score。

接着,我们定义了一个结构体 Student 类型的变量的 student,并分别为该变量的字段赋值,最后,我们使用 cout 打印了结构体中的所有字段的值。

结构体中包含结构体

结构体中字段的类型还可以是结构体类型

#include <iostream> using namespace std; struct Person{ char *name; int age; }; struct Student{ struct Person person; float score; }; int main() { cout << "嗨客网(www.haicoder.net)\n" << endl; struct Person person; struct Student student; person.name = "HaiCoder"; person.age = 13; student.person = person; student.score = 89.5; cout << "Person Name = " << student.person.name << " Age = " << student.person.age << " Score = " << student.score << endl; return 0; }

程序运行后,控制台输出如下图所示:

03_C结构体struct定义.png

我们首先,定义了一个 Person 结构体,接着,我们定义了一个 Student 结构体,同时,在 Student 结构体里面还有一个 Person 类型的字段。

接着,我们定义了一个 Person 结构体类型和一个 Student 结构体类型,并且将 Student 结构体里面的 person 字段赋值为了 Person 结构体的变量。

C++结构体定义教程

在 C++ 中,我们定义一个 结构体,需要使用 struct 关键字,struct 关键字后面加结构体名,同时,结构体的成员可以有任意多个,且是任意类型,包括结构体类型。