结构体变量的初始化

结构体变量的初始化

ID:9074768

大小:331.50 KB

页数:6页

时间:2018-04-16

结构体变量的初始化_第1页
结构体变量的初始化_第2页
结构体变量的初始化_第3页
结构体变量的初始化_第4页
结构体变量的初始化_第5页
资源描述:

《结构体变量的初始化》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、9.1.6 结构体变量的初始化和C语言中其它变量一样,在定义结构体变量时可以进行初始化操作,一般形式为([]中的内容表示可省略):struct [结构体类型名]{数据类型名1   成员名1;……数据类型名n   成员名n;}结构体变量={初始数据};例如,可以在定义hero型变量wusong时对其进行初始化:struct hero{intnumber;           //排名charsex;            //性别charstar_name[20];   //星名charname[20];        //名称charnickname[20];    //绰号charpos

2、ition[20];    //职业charweapon[20];      //使用武器}wusong={14,’m’,”天伤星”,”武松”,”行者”,”步兵头领”,”2把戒刀”};      //定义了结构体变量wusong并初始化。定义结构体变量wusong但没有初始化时,编译器会给每个成员一个默认值,初始化后就赋予初始化时地赋值,如图9.4所示:                                   图9.4结构体变量及其初始化注意:对结构体变量进行初始化时,必须按照每个成员的顺序和类型一一对应地赋值,少赋值、多赋值,以及类型不符都可能引起编程错误。9.1.6 结构体

3、变量的引用在定义了结构体变量后,就可以引用这个变量。所谓引用结构体变量就是使用结构体变量或结构体变量的成员进行运算或者其他操作。1.“.”运算符在C语言中,“.”也是一个运算符,叫做成员运算符。一般和结构体或共用体变量名称一起使用,用来指定结构体或共用体变量的成员。例如:linchong.nickname;用来指定结构体变量linchong的成员nickname。2.结构体变量成员的引用C语言允许引用结构体变量的成员完成某种操作。其一般形式为:结构体变量名.成员名例如,对于上面定义的结构体变量wusong,可这样引用其成员:wusong.number,wusong.sex;    //应用

4、结构体变量wusong.number+1;                    //对结构体进行运算printf(“%d”,wusong.number);  //输出构体成员的值也可对定义了的结构体变量的成员赋值:sunerniang.number=103;sunerniang.nickname=”母夜叉”;3.整个结构体变量的引用C语言允许对两个相同类型的结构体变量之间进行整体赋值。例如,下面将wusong的值赋给与其类型相同的变量zhangsan:zhangsan=wusong;9.1.7 引用结构体变量注意事项在引用结构体变量时,需注意以下几点:l 必须先定义结构体变量,才能对

5、其进行引用。当开发大型程序时,引用未定义的结构体变量而引起的错误可能会时常出现,不过,幸运的是,编译器会发现此错误,程序将无法编译通过。但是,养成良好的编程习惯还是必须的,毕竟调试错误也是一件很麻烦的事情。l 如果一个结构体变量的成员又是一个结构类型,引用时要用成员运算符逐级遍历到最低层的成员。例如,下面对前面定义的hero类型变量wusong的成员death_day的结构体成员进行引用:wusong.death_day.monthwusong.death_day.daywusong.death_day.year其中,wusong为第一级的结构体变量名,death_day既为wusong的

6、成员,又为第二级结构体变量名,month,day,year为death_day的成员。l 结构体变量成员可以像普通变量一样参与各种运算或其他操作。例如:songerniang.sex=’w’;             //对结构体变量成员进行赋值操作songerniang.number++;           //对结构体变量成员进行自增运算sunerniang.number>wusong.number;  //比较两个结构体变量成员l 可以引用结构体变量地址,也可以引用结构体变量成员的地址。例如,下面都是合法的语句://以十六进制数的形式输出结构体变量wusong的地址printf(“

7、%x”,&wusong);//以十六进制数的形式输出结构体变量wusong成员number的地址printf(“%x”,&wusong.number);//从键盘输入字符给sunerniang变量的成员sex赋值scanf(“%c”,&sunerniang.sex);l 不能对结构体变量整体进行诸如输入输出的操作。例如,下面的语句是非法的:scantf(“%d%c%s%s%s%s%s”,&sunerniang);l 结构

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。