C语言访问结构体成员

C语言访问结构体成员教程

C 语言 中,我们要访问一个 结构体 中的成员,我们可以使用结构体 变量 加上点,即 . 的形式来访问结构体中的成员。

C语言访问结构体成员

语法

structName.fileld1; structName.fileld2;

参数

参数 描述
structName 结构体名。
filed1 结构体成员变量名。
fileld2 结构体成员变量名。

说明

我们要访问结构体的成员变量,直接使用结构体名点成员即可访问。

案例

C语言访问结构体成员

访问结构体的成员

#include <stdio.h> struct Car{ char *brand; int price; int maxSpeed; }; void main() { printf("嗨客网(www.haicoder.net)\n\n"); struct Car car; car.brand = "Benz"; car.price = 1000000; car.maxSpeed = 256; char *brand = car.brand; int price = car.price; int maxSpeed = car.maxSpeed; printf("Brand = %s, Price = %d, MaxSpeed = %d\n", brand, price, maxSpeed); }

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

04_C语言访问结构体成员.png

我们首先,定义了一个结构体 Car,该结构体有三个成员,即一个 字符串 类型的 brand、一个 int 类型 的 price 和一个 int 类型 的 maxSpeed。

接着,我们分别使用结构体变量名加上点的形式,访问了结构体中的成员,并分别赋值给了三个变量,即,brand、price 和 maxSpeed。

最后,我们使用 printf 打印了这三个变量的值,我们发现,这三个变量的值就是结构体中的成员的值。

访问结构体成员

使用点访问结构体中的成员

#include <stdio.h> struct Animal{ char *name; }; struct Tiger{ struct Animal animal; int runSpeed; }; struct HNTiger{ struct Tiger tiger; char* food; }; void main() { printf("嗨客网(www.haicoder.net)\n\n"); struct Animal animal; animal.name = "BigTiger"; struct Tiger tiger; tiger.animal = animal; tiger.runSpeed = 100; struct HNTiger hnTiger; hnTiger.tiger = tiger; hnTiger.food = "Pig"; char *tigerName = hnTiger.tiger.animal.name; int tigerSpeed = hnTiger.tiger.runSpeed; char* food = hnTiger.food; printf("tigerName = %s, tigerSpeed = %d, food = %s\n", tigerName, tigerSpeed, food); }

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

05_C语言访问结构体成员.png

我们看到,如果是结构体里面嵌套结构体,那么我们访问结构体的成员,需要一直使用点的形式来访问,一直访问到具体的字段。

C语言访问结构体成员教程

在 C 语言中,我们要访问一个结构体中的成员,我们可以使用结构体变量加上点,即 . 的形式来访问结构体中的成员。