⽬录
初识C语⾔结构体
1.为什么要有结构体2.结构体的定义2.1结构体类型的定义2.2定义结构体普通变量及访问2.3定义结构体指针变量及访问初识C语⾔结构体
1.为什么要有结构体
(1)之前int、char等类型描述的结构体⾮常单⼀,只可描述⼀种类型。(2)数组也是描述同⼀类型的集合,只可描述⼀种类型。
(3)⽽结构体使得C语⾔可以描述复杂类型,⽐如学⽣类型( 包含学⽣的名字、年龄、性别、电话号等信息)。结构体和数组的区别:
·结构体:⽤来描述相同/不同数据元素类型的集合。·数组:⽤来描述具有相同数据元素类型的集合。
2.结构体的定义
2.1结构体类型的定义格式:
struct Stu//结构体类型名字为struct Stu(struct Stu类似于int){
//结构体内容 char Name[20]; int Age;
char Sex[5]; char Tel[12];};//记着加;
注意:
(1)结构体类型的定义是在main函数外部。
(2)此处指定义了⼀个结构体类型,还未定义对应结构类型的变量,所以还未在内存中开辟空间。2.2定义结构体普通变量及访问
struct Stu Tom = { “Tom”, 13, “男”, “11122546698” };
//定义结构体普通变量并初始化,变量名为Tom,⽤变量名访问结构体。
#include char Name[20];//名字 int Age; //年龄 char Sex[5];//性别 char Tel[12];//电话号}; int main(){ struct Stu Tom = { \"Tom\男\ printf(\"%s,%d,%s,%s\\n\⽤变量名和结构成员运算符(.)访问结构体。 return 0;} 2.3定义结构体指针变量及访问 struct Stu *s = &Tom; //定义结构体指针变量,s指向Tom,有如下两种访问⽅式。 #include char Name[20];//名字 int Age; //年龄 char Sex[5];//性别 char Tel[12];//电话号}; int main(){ struct Stu Tom = { \"Tom\男\ struct Stu *s = &Tom; //⽤结构体指针运算符->访问(常⽤访问⽅式) printf(\"%s,%d,%s,%s\\n\ //s为指针变量,*s对指针解引⽤,代表指针所指向的内容。 //⽽且⽤指针和结构成员运算符(.)访问结构体时,由于结构成员运算符(.)⽐指针引⽤运算符(*)的优先级⾼,必须代括号。 printf(\"%s,%d,%s,%s\\n\ return 0;} 因篇幅问题不能全部显示,请点此查看更多更全内容