资源描述:
《结构体的定义及初始化.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、结构体类型定义struct[结构体名]{类型标识符成员名;类型标识符成员名;…………….};成员类型可以是基本型或构造型struct是关键字,不能省略合法标识符可省:无名结构体结构体的说明及结构体变量的定义1例structstudent{intnum;charname[20];charsex;intage;floatscore;charaddr[30];};namenumsexagescoreaddr2字节2字节20字节1字节4字节30字节……..结构体类型定义描述结构的组织形式,不分配内存例子图解2结构体类型定义struct[结
2、构体名]{类型标识符成员名;类型标识符成员名;…………….};成员类型可以是基本型或构造型struct是关键字,不能省略合法标识符可省:无名结构体结构体的说明及结构体变量的定义3(1)在结构体说明的同时定义结构体变量,例如:structexample{char*name;intage;}guo,zhang;(2)直接定义结构体变量,例如:struct{char*name;intage;}guo,zhang未给出结构体名(3)把定义和说明分开,例如:structexample{char*name;intage;};structexa
3、mpleguo,zhang;结构体变量占用内存的大小可用sizeof()运算来求出结构体变量的定义4变量说明形式struct结构体名结构体变量名;注意:结构变量的存储类型概念、它的寿命、可见性及使用范围与普通变量、数组等完全一致。结构体变量说明必须在结构类型定义之后,二者也可同时进行。结构体的说明及结构体变量的定义5引用规则结构体变量不能整体引用,只能引用变量成员可以将一个结构体变量赋值给另一个结构体变量结构体嵌套时逐级引用成员(分量)运算符优先级:1结合性:从左向右引用方式:结构体变量名.成员名结构体成员的引用6不能将一个结构体
4、变量作为一个整体加以引用,而只能对结构体变量中各个成员进行引用如:printf(“…”,student1);(错误)对成员变量可以象普通变量一样进行各种运算成员地址与结构体地址都可以引用,如:scanf(“%d”,&student1.num);…它是成员地址引用printf(“%d”,&student1);…它是结构体地址引用赋值时,与数组类似,只能当结构体变量为全局变量及静态变量时,可以赋值结构体成员的引用7形式一:struct结构体名{类型标识符成员名;类型标识符成员名;…………….};struct结构体名结构体变量={初始数
5、据};例structstudent{intnum;charname[20];charsex;intage;charaddr[30];};structstudentstu1={112,“WangLin”,‘M’,19,“200BeijingRoad”};结构体变量的初始化8struct结构体名{类型标识符成员名;类型标识符成员名;…………….}结构体变量={初始数据};例structstudent{intnum;charname[20];charsex;intage;charaddr[30];}stu1={112,“WangLin”
6、,‘M’,19,“200BeijingRoad”};结构体变量的初始化形式二:9struct{类型标识符成员名;类型标识符成员名;…………….}结构体变量={初始数据};例struct{intnum;charname[20];charsex;intage;charaddr[30];}stu1={112,“WangLin”,‘M’,19,“200BeijingRoad”};结构体变量的初始化形式三:10