c语言结构体定义和使用?
结构体的定义
结构体的一般表现形势为
struct 结构体名{
成员列表
};
在成员列表中可以是几种基本数据类型如char,int等,也可以是结构体类型(可以是这个结构体本身,或者是其他结构体类型)
定义一:
定义结构体类型,不定义变量,比如一个人,有性别,有年龄,有名字。
struct Person{
char sex;
float years;
char *name;
};
然后再定义变量
struct Person ReCarChoi;
我们就定义了ReCarChoi这个人,它是Person这个结构体的一个变量,拥有里面的三个属性
(注意:这种定义方式struct关键字不能省略)。
定义二:
定义结构体类型,同时定义变量。比如
struct Person{
char sex;
float years;
char *name;
}ReCarChoi;
当你需要的结构体变量不多的时候,也可以直接省略结构体名字:
struct{
char sex;
float years;
char *name;
}ReCarChoi;
这样做书写简单,但是缺点就是后面无法利用该结构体定义新的变量;
定义三:使用宏定义
#define PER struct Person
PER{
char sex;
float years;
char *name;
};
PER ReCarChoi;
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,
还没有评论,来说两句吧...