第10章结构体位运算.ppt

  1. 1、本文档共44页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第10章结构体位运算.ppt

C语言及程序设计 Visual Basic 程序设计 Struct stu {int a; float b; } stutype; 下列叙述不正确的是: A)struct 是结构体类型的关键字 B)struct stu是用户定义的结构体类型 C)stutype是用户定义的结构体类型名 D)a和b都是结构体成员名 #include stdio.h void main() { struct date { int year,month,day; }today; printf(%d,sizeof(struct date)); } 12 结构体指针 概念 存放结构体首地址 结构指针的运算也按照C语言的地址运算原则进行。 例如,结构指针加一将指向内存中下一个结构体。 说明形式: struct 结构名 *结构指针名; 用结构指针访问结构成员 (*结构指针名).成员名 或 结构指针名-成员名 运算次序 ++pman-name 等同于 ++(pman-name) *pman-name 等同于 *(pman-name) Main() { struct cmplx{ int x; int y; }cnum[2]={1,3,2,7}; printf(“%d\n”,cnum[0].y/cnum[0].x*cnum[1].x); } 6 结构体指针 Struct student { int age; int num; } std,*p; P=std; 下列引用不正确的是: A)std.age b) p-age c) (*p).age d) *p.age D Struct student { int age; int num; }; Struct student stu[3]={{10,1},{12,2}}; Main() { Struct student *p; P=stu; …… } 以下不正确的是: A)(p++)-num b) p++ C) (*p).num d) p=stu.age d struct person { char name[9]; int age;}; struct person cc[10] = {John,17, Pual,19, Mary,18, adam,16 }; printf(%c,cc[2].name[0]); struct sample { int num; char color; char type; } car[]={101,G,c, 210,Y,m, 105,R,l, 222,B,s, 308,P,b }; struct sample *p; int i; p=car; printf(number color type \n); printf(-----------------------\n); for(i=0;i5;i++,p++) printf(%-9d%-6c%c\n, p-num,p-color,p-type); Struct student { int age; int num; }; Struct student stu[3]={{10,1},{12,2}}; Main() { Struct student *p; P=stu; …… } 以下不正确的是: A)(p++)-num b) p++ C) (*p).num d) p=stu.age 答案:d 特点: 1、每一瞬间只有一个成员起作用 2、共用体变量中起作用的成员是最后一次存放的成员,存入新成员后,原成员失去作用 3、成员的地址是同一地址 4、不能在定义共用体时进行初始化 5、结构体变量所占的内存长度是各个变量之和,而共用体所占内存长度等于最长的成员的长度 main() { union { long a; int b; char c; }m; printf(“%d”,sizeof(m)); } 位运算——按位与() 运算规则 将两个运算量的每一个位进行逻辑与操作。 举例:计算 3 5 先将 3 和 5 表示为补码,再按位与: 3: 0 0 0 0 0 0 1 1 5:() 0 0 0 0 0 1 0 1 3 5: 0 0 0 0 0 0 0 1 用途: 将某一位置0,其

文档评论(0)

ziyouzizai + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档