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 <stdio.h> struct Student{ char *name; int age; float score; }; void main() { printf("嗨客网(www.haicoder.net)\n\n"); struct Student student; student.name = "HaiCoder"; student.age = 13; student.score = 89.5; printf("Name = %s, Age = %d, Score = %f\n", student.name, student.age, student.score); }

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

02_C语言结构体struct定义.png

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

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

结构体中包含结构体

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

#include <stdio.h> struct Person{ char *name; int age; }; struct Student{ struct Person person; float score; }; void main() { printf("嗨客网(www.haicoder.net)\n\n"); struct Person person; struct Student student; person.name = "HaiCoder"; person.age = 13; student.person = person; student.score = 89.5; printf("Person Name = %s, Person Age = %d, Score = %f\n", student.person.name, student.person.age, student.score); }

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

03_C语言结构体struct定义.png

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

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

C语言结构体定义教程

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