数组相对于基本数据类型,其更方便快速定义大量数据且能表示其具有一定的内在关系,但是数组只能包含具有相同类型的数据,所以出现了可以由不同数据类型建立的数据结构——结构体。
定义
struct A {
int a;
float b;
double c;
};
声明结构体类型的一般形式就是如此:
struct 结构体名
{成员表列};
声明结构体不占用内存空间,只有定义变量后才会分配内存空间
空间大小与结构体的组成有关
定义结构体的变量,有三种方式:
- 在声明结构体后,定义结构体变量
struct A A1,A2;
- 在声明的同时定义变量
struct A {
int a;
float b;
double c;
}A3,A4;
- 不指定类型名直接定义
struct{
int a;
float b;
double c;
}A5,A6;
初始化和引用
- 在定义结构体变量时进行初始化(对变量初始化而不是类型)
struct{
int a;
float b;
double c;
}A7={1,5,3};
按顺序给成员赋值
也可以指定成员赋值
struct{
int a;
float b;
double c;
}A8={.a=10};
未赋值的成员数值型为0 字符型为\0 指针为null
- 引用结构体成员的值一般形式:
结构体变量.成员名
.的优先级是最高的
- 如果成员是结构体,只能对最低一级进行操作
不能直接对结构体类型成员操作
本文介绍了结构体作为数据结构的优势,它允许不同类型的数据组合在一起,弥补了数组的局限性。结构体的定义不占用内存,只有在创建变量时才会分配空间。文章详细阐述了结构体变量的三种定义方式,以及如何初始化和引用结构体成员。强调了未初始化成员的默认值,并指出不能直接对结构体类型成员进行操作。

被折叠的 条评论
为什么被折叠?



