结构体在C语言中用于定义一个复合数据类型,它可以将不同类型的数据组合在一起。声明结构体的基本语法如下:
```c
struct 结构体名称 {
数据类型 成员1;
数据类型 成员2;
// ...
};
```
其中,`结构体名称`是自定义的,可以根据需要进行命名。成员可以是任何有效的C语言数据类型,包括基本数据类型、数组、指针、其他结构体等。
结构体声明的几种方式:
标准声明
```c
struct 结构体名称 {
数据类型 成员1;
数据类型 成员2;
// ...
};
```
带有标签的声明
```c
struct tag {
数据类型 成员1;
数据类型 成员2;
// ...
};
```
匿名结构体
```c
struct {
数据类型 成员1;
数据类型 成员2;
// ...
} 结构体变量名;
```
使用typedef声明结构体类型
```c
typedef struct {
数据类型 成员1;
数据类型 成员2;
// ...
} 结构体别名;
```
结构体变量的声明和使用:
```c
struct 结构体名称 结构体变量名;
```
结构体成员的访问:
结构体变量的成员可以通过点操作符(`.`)访问。
```c
struct 结构体名称 结构体变量名;
结构体变量名.成员名;
```
结构体指针的声明和使用:
```c
struct 结构体名称 *结构体指针变量名;
结构体指针变量名->成员名;
```
示例:
```c
struct Student {
char name;
int age;
char sex;
char id;
};
struct Student stu1;
struct Student *stu2 = &stu1;
```
以上是结构体声明的基本方法。