结构体:由多个不同类型的数据构成的一种结构。C语言中结构体是一种常用的数据类型,使用好它可以为程序带来各种的好处,如优化,简化程序等。下面就总结一下,我学习结构体的一些经验。
一 . 结构体的声明
其具体框架为:
struct 结构体名
{
数据类型 成员1;
数据类型 成员2;
数据类型 成员3;
.......
数据类型 成员n;
};
说明:struct 是关键字,后面跟的是整个结构体的名字,然后大括号里面是各种数据类型的成员,不同的数据类型,成员名字可以相同。
一定要注意的是:大括号后面的" ; " 不可以省略。
结构体的声明,系统不会为它分配存储空间,它只是一个声明,让系统知道有这个结构体 。真正给结构体分配存储空间的是,结构体的定义。
如:
struct person
{
int age;
double weight;
char *name;
};
二. 结构体的定义
结构体的定义和声明是分开的, 如声明 struct person 之后,就可以这样定义:struct person p,struct person p1。
然后就可以给成员变量赋值如:struct person p1 = {20,50.0,"rose " }; 分别给age赋值20,weight赋值50.0,name赋值rose。
声明,定义,赋值完整的写法:
第一种方式: struct person
{
int age;
double weight;
char *name;
};
struct person p1 = {20,50.0,"rose" };
第二种方式: typedef struct person
{
int age;
double weight;
char *name;
}stu;
stu p1 = {20,50.0,"rose" };