在 C 语言 中,我们要访问一个 结构体 中的成员,我们可以使用结构体 变量 加上点,即 .
的形式来访问结构体中的成员。
structName.fileld1; structName.fileld2;
参数 | 描述 |
---|---|
structName | 结构体名。 |
filed1 | 结构体成员变量名。 |
fileld2 | 结构体成员变量名。 |
我们要访问结构体的成员变量,直接使用结构体名点成员即可访问。
访问结构体的成员
#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);
}
程序运行后,控制台输出如下图所示:
我们首先,定义了一个结构体 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);
}
程序运行后,控制台输出如下图所示:
我们看到,如果是结构体里面嵌套结构体,那么我们访问结构体的成员,需要一直使用点的形式来访问,一直访问到具体的字段。
在 C 语言中,我们要访问一个结构体中的成员,我们可以使用结构体变量加上点,即 .
的形式来访问结构体中的成员。