union、enum、struct、结构体数组的使用
时间: 2023-05-24 10:05:28 浏览: 121
结构体的运用
1. union:
union是C语言的一个关键字,它是一种数据结构,允许在同一内存位置存储不同的数据类型。union的大小等于其最长的成员变量的大小,因为它需要在内存中为最长的成员变量分配空间。
使用示例:
```
union Data {
int i;
float f;
char str[20];
} data; //声明一个union变量,名为data
int main() {
data.i = 10;
printf( "data.i : %d\n", data.i); // 输出10
data.f = 220.5;
printf( "data.f : %f\n", data.f); // 输出220.500000
strcpy( data.str, "C Programming");
printf( "data.str : %s\n", data.str); // 输出C Programming
return 0;
}
```
2. enum:
enum是一个枚举类型,在C语言中被用来定义和管理一些常量,通常是一些连续的整数值。枚举类型可以提高代码的可读性、可维护性以及可移植性。
使用示例:
```
enum Weekday {
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Sunday
};
int main() {
enum Weekday today;
today = Monday;
if (today == Monday) {
printf("Today is Monday\n");
} else {
printf("Today is not Monday\n");
}
return 0;
}
```
3. struct:
struct是一个结构体,在C语言中可以用来表示一组不同类型的数据,它允许将不同类型的数据组合在一起,形成一个自定义的数据类型。
使用示例:
```
struct student {
int id;
char name[20];
float score;
};
int main() {
struct student s1;
s1.id = 10001;
strcpy(s1.name, "John");
s1.score = 95.5;
printf("ID: %d\n", s1.id);
printf("Name: %s\n", s1.name);
printf("Score: %f\n", s1.score);
return 0;
}
```
4. 结构体数组:
结构体数组是指由多个结构体组成的数组,每个结构体包含多个成员变量,数组中的每个元素都是一个结构体。
使用示例:
```
struct student {
int id;
char name[20];
float score;
};
int main() {
struct student students[3];
students[0].id = 10001;
strcpy(students[0].name, "John");
students[0].score = 95.5;
students[1].id = 10002;
strcpy(students[1].name, "Mary");
students[1].score = 89.0;
students[2].id = 10003;
strcpy(students[2].name, "Tom");
students[2].score = 92.5;
for (int i = 0; i < 3; i++) {
printf("ID: %d\n", students[i].id);
printf("Name: %s\n", students[i].name);
printf("Score: %f\n", students[i].score);
}
return 0;
}
```
阅读全文