问题有点宽泛,但......
结构是聚合或复合数据类型,用于表示由可能不同类型的多个属性描述的实体.一些例子:
等等等
让我们看一下邮件地址作为一个具体的例子.我们可以定义我们的邮件地址类型如下:
struct Address {
char *streetName;
int buildingNumber; // House, apt building, office building, etc.
char *aptNumber; // Handles apt and suite #s like K103, B-2, etc.
char *city;
char state[3];
int zip;
};
Run Code Online (Sandbox Code Playgroud)
我们像这样创建一个该结构的实例:
struct Address newAddress;
Run Code Online (Sandbox Code Playgroud)
和指向该实例的指针:
struct Address *addrPtr = &newAddress;
Run Code Online (Sandbox Code Playgroud)
并使用.or ->运算符访问每个字段,具体取决于我们是处理结构实例还是指向结构的指针:
newAddress.streetName = strdup("Elm");
addrPtr->buildingNumber = 100;
...
Run Code Online (Sandbox Code Playgroud)
查看结构的另一种方法是类似于由多个字段组成的数据库记录.