1)C语言的结构体和共用体是什么?如何使用?
时间: 2023-09-07 15:14:39 浏览: 115
实验9(1) 掌握C语言环境下结构体和共用体类型变量的定义和使用方法.doc
C语言中,结构体(struct)是一种自定义的数据类型,它可以将多个不同类型的数据成员组合在一起,形成一个新的复合类型。结构体的定义方式如下:
```
struct 结构体名{
数据类型 成员1;
数据类型 成员2;
……
};
```
结构体成员可以是任何数据类型,包括基本数据类型、数组、指针等。结构体的使用方式和其他数据类型类似,可以定义结构体变量,并对其成员进行访问。例如:
```
struct student{
char name[20];
int age;
float score;
};
struct student stu = {"Tom", 18, 90.5};
printf("name:%s, age:%d, score:%.2f\n", stu.name, stu.age, stu.score);
```
共用体(union)也是一种自定义的数据类型,它可以在同一内存空间中存储多个不同类型的数据,但同一时间只能使用其中一个成员。共用体的定义方式如下:
```
union 共用体名{
数据类型 成员1;
数据类型 成员2;
……
};
```
共用体的成员可以是不同的数据类型,但共用体的大小只能等于最大成员的大小。共用体的使用方式和结构体类似,可以定义共用体变量,并对其成员进行访问。例如:
```
union data{
int num;
char ch;
float f;
};
union data d;
d.num = 10;
printf("num:%d, ch:%c, f:%f\n", d.num, d.ch, d.f);
```
需要注意的是,共用体的成员之间是共享内存的,因此对一个成员的修改会影响到其他成员。同时,也要避免在同一时间访问多个成员,以免造成数据混乱。
阅读全文