C语言的结构体和共用体是什么?如何使用?
时间: 2023-11-23 20:08:09 浏览: 75
C语言中,结构体和共用体都是用来存储不同数据类型的变量的数据类型。
结构体是一种自定义数据类型,它可以包含多个不同类型的变量,这些变量可以是基本数据类型或其他结构体类型的成员。结构体的定义格式为:
```
struct 结构体名{
数据类型1 变量名1;
数据类型2 变量名2;
...
};
```
其中,结构体名是自定义的,可以任意取名;变量名也是自定义的,用来表示结构体中的成员变量。结构体的使用方式是通过定义结构体变量,并给结构体变量的成员变量赋值来使用的。例如:
```
struct student{
int id;
char name[20];
int age;
};
int main(){
struct student stu;
stu.id = 1001;
strcpy(stu.name, "Tom");
stu.age = 18;
return 0;
}
```
共用体也是一种自定义数据类型,它可以在同一内存空间中存储不同类型的变量,但同一时间只能存储其中的一个成员变量。共用体的定义格式为:
```
union 共用体名{
数据类型1 变量名1;
数据类型2 变量名2;
...
};
```
其中,共用体名是自定义的,可以任意取名;变量名也是自定义的,用来表示共用体中的成员变量。共用体的使用方式是通过定义共用体变量,并给共用体变量的成员变量赋值来使用的。例如:
```
union data{
int i;
float f;
char c;
};
int main(){
union data d;
d.i = 10;
printf("d.i = %d\n", d.i);
d.f = 3.14;
printf("d.f = %f\n", d.f);
d.c = 'A';
printf("d.c = %c\n", d.c);
return 0;
}
```
需要注意的是,共用体中不同成员变量的占用空间相同,因此需要谨慎使用共用体,避免出现数据混淆的情况。
阅读全文