在 C 中使用结构的简单指南

结构(或结构)是 C 中的混合数据类型。您可以使用它来存储不同类型的变量。

struct 类型类似于面向对象编程中的类。有时您可能需要为具有相同属性的对象赋值。您可以在struct 中定义它们,而不是在 C 程序中为这些对象创建多个变量。

创建结构

要定义结构,请使用关键字struct ,后跟结构名称。在结构内部,您可以指定不同类型的变量:

 struct Car{
char name[45];
int wheels;
double cost;
} ;

您可以通过在结构声明中的右大括号之后添加这些实例声明来定义Car的多个实例:

 struct Car{
/* variables */
} Car1, Car2, Car3;

您还可以在结构内嵌套结构。请参阅下面的示例:

 struct address {
int area_code;
char street_name[45];
};
struct Person {
char name[60];
float height;
struct address Persons_location;
};

相关:您必须学习开始的 C 编程技巧

对结构类型的操作

初始化

可以通过三种方式初始化结构体的元素。

您可以在{}括号中插入逗号分隔的值,然后将它们分配给结构。您应该注意,这些值的顺序必须与您声明变量的顺序相同。

 struct Car Car1 = {"Truck", 10, 65000};

相关: C++ 标准模板库的初学者指南

您还可以分配值而无需考虑您声明它们的顺序。请参阅下面的示例。

 struct Car Car2 = {
.cost = 45000,
.name = "Truck",
.wheels = 8
};

初始化结构的第三种方法是为其分配相同类型的现有结构。

 struct Car Car3 = Car1;

访问结构元素

要访问存储在结构元素中的值,请使用点运算符。

 /* the syntax is:
structName.elementName */
int y = Car1.wheels;

面向对象编程概述

正如开头提到的, struct相当于在面向对象编程 (OOP) 中使用类。类更易于使用并支持代码重用。

由于这个原因和许多其他原因,引入了 C++。 C++ 是 C 的面向对象版本。阅读清单上的下一个应该是理解 OOP 中的概念。