c语言有哪些结构体
C语言中有很多种结构体,以下是一些常见的结构体类型:
1. 普通结构体:由多个不同类型的变量组成的自定义数据类型,可以用来表示一组相关的数据。例如:
```
struct student {
char name[20];
int age;
float score;
};
```
2. 嵌套结构体:结构体中可以包含其他结构体。例如:
```
struct date {
int year;
int month;
int day;
};
struct student {
char name[20];
struct date birthday;
float score;
};
```
3. 共用体:所有成员占用同一段内存空间,可以用来表示多个不同类型的变量中的一个。例如:
```
union data {
int i;
char c;
float f;
};
```
4. 枚举类型:用来定义一组具有相同属性的整型常量。例如:
```
enum color {
RED,
GREEN,
BLUE
};
```
这些结构体类型都可以用来表示不同类型的数据,具体使用哪种结构体取决于你的需求。
C语言有以下几种结构体:1.普通结构体,内部属性包含多个基础类型数据。
2.枚举结构体,内部属性包含了多个枚举值。
3.联合结构体,内部属性可以是多种不同的数据类型,但只使用其中的一种。
以上,基本涵盖了C语言中常见的结构体。
语⾔中,结构体类型属于⼀种构造类型(其他的构造类型还有:数组类型,联合类型)。本⽂主要介绍关于结构体以下⼏部分。
因为在实际问题中,⼀组数据往往有很多种不同的数据类型。例如,登记学⽣的信息,可能需要⽤到 char型的姓名,int型或 char型的学号,int型的年龄,char型的性别,float型的成绩。⼜例如,对于记录⼀本书,需要 char型的书名,char型的作者名,float型的价格。在这些情况下,使⽤简单的基本数据类型甚⾄是数组都是很困难的。
⽽结构体(类似Pascal中的“记录”),则可以有效的解决这个问题。 结构体本质上还是⼀种数据类型,但它可以包括若⼲个“成员”,每个成员的类型可以相同也可以不同,也可以是基本数据类型或者⼜是⼀个构造类型
第一种:只有结构体定义:
1. struct stuff{
2.char job;
3. int age;
4. float height;
5. };
第二种:附加该结构体类型的“结构体变量”的初始化的结构体定义:
1. //直接带变量名Huqinwei
2. struct stuff{
3. char job[20];
4. int age;
5. float height;
6. }Huqinwei;
也许初期看不习惯容易困惑,其实这就相当于:
1. struct stuff{
2. char job;
3. int age;
4. float height;
5. };
6. struct stuff Huqinwei;
第三种:如果该结构体你只用一个变量Huqinwei,而不再需要用。
struct stuff yourname; 去定义第二个变量。那么,附加变量初始化的结构体定义还可进一步简化出第三种:
1. struct{2. char job;
3. int age;
4.float height;
5. }Huqinwei;
还没有评论,来说两句吧...