




已阅读5页,还剩135页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
,第10章指针类型,10.1指针与指针变量10.2指针与数组10.3指针与字符串10.4指针与结构体10.5指针与链表10.6指针与函数10.7指针作基类型10.8程序设计举例习题十,10.1指针与指针变量,10.1.1指针变量的定义,1.定义方法形式:类型标识符*变量标识符;定义存放指定类型数据地址的指针变量。,例如:(1)int*p1,*p2,*p3;定义指向整型数据的指针变量p1、p2、p3。(2)float*q1,*q2,*q3;定义指向实型数据的指针变量q1、q2、q3。(3)char*r1,*r2,*r3;定义指向字符型数据的指针变量r1、r2、r3。,(4)structdateintyear;intmonth;intday;*t1,*t2,*t3;定义指向structdate类型数据的指针变量t1、t2、t3。,说明:(1)指针变量可与普通变量混合定义,指针变量的定义与普通变量的定义用变量名前加“*”区分。例如:inti,*p;/*定义整型变量i,指针变量p*/(2)空指针“NULL”是一特殊的指针数据,表示空地址,相当于整型数据中的0,字符数据中的空格。,(3)指针变量只能用于存放指定类型数据的地址。如以上定义的一些指针变量,p1、p2、p3只能存放整型数据的地址,q1、q2、q3只能存放实型数据的地址,r1、r2、r3只能存放字符型数据的地址,t1、t2、t3只能存放structdate型数据的地址。,(4)指针变量不能直接赋以具体地址值,不能从键盘输入值。指针变量通过间接赋以相关数据的地址,或调用存储空间分配函数得到值。例如:inti,j,k;int*p1=。(2)建立关联:p=a;或p=,例10-27有20个人围成一圈,反复从第一人开始按16循环报数,凡报到6的人退出。求最后留下的是谁。算法提示:(1)用一数组描述这些报数人,初值为原始序号,退出后置为0。(2)退出的人数小于20,继续报数,用退出人数作为循环控制变量。程序如下:,/*例10-27,趣味报数程序*/main()voidleft();intnum20;inti;for(i=0;i20;i+)numi=i+1;left(num,20);for(i=0;i20;i+)if(numi!=0)printf(留下的是%d!,numi);,voidleft(p,n)/*报数函数*/int*p,n;inti=0,count=0,out=0;whlie(countn1)if(*(p+i)!=0)count+;/*报数*/if(count=6)*(p+i)=0;/*退出*/out+;count=0;if(i=n)i=0;,例10-28洗牌与发牌程序。算法提示:(1)假定扑克牌有H、D、C、S四种花色,113种面值,用一结构体数组描述。(2)函数xp()利用随机函数完成洗牌,函数fp()完成发牌。,程序如下:/*例10-28,洗牌与发牌程序*/structcardchar*suit;intnum;voidxp();voidfp();main()structcarddeck52;inti,j;,/*设置一副新牌*/for(i=0;i=51;i+)decki.num=i%13+1;switch(i%4)case0:decki.suit=H;break;case1:decki.suit=D;break;case2:decki.suit=C;break;case3:decki.suit=S;break;xp(deck);/*洗牌*/fp(deck);/*发牌*/,voidxp(xp)/*洗牌函数*/structcard*xp;intj,j;structcardt;for(i=0;i=51;i+)j=rand()%52;t=xpi;xpi=xpj;xpj=t;,voidfp(xp)/*发牌函数*/structcardxp;intj;for(i=0;ib成立定义为a数组中大于b数组中的分量个数大于b数组中大于a数组中的分量个数,as2,则输出正值,s1s2,则输出负值。13输入10个国家的名称,排序输出。(1)用指针数组实现。(2)用指向指针的指针实现。,14定义一个用两分法解下列方程的通用函数。(1)1x+x3=0。(2)sin(x)x=0。(3)ex=0。15实现一单链表的逆置,并输出逆置前后的结果。16建立一个通讯录单链表,包含姓名、地址、邮编、电话,并输出此链表。17在上题的基础上,编写插入、删除函数,并在主函数中调用它,输出插入前后、删除前后的结果。,18建立公交线路情况链表,每个站点包括站名及乘客流量,请统计站数及乘客总流量。19一个单链表中含有数字、字母和其它三种字符,要求将其分解成三个单链表,使每个单链表中仅含有同一类字符,并输出分解前后的结
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安陆市2025-2026学年七年级上学期语文期中测试试卷
- 2013年7月国开电大法律事务专科《行政法与行政诉讼法》期末纸质考试试题及答案
- 湖南省怀化市实验中学2025-2026学年度上学期高一化学入学考试试卷(含答案)
- 2025年8月辽宁省鞍山市立山区七年级新生分班考试数学试题(含答案)
- 出售煤矿风机合同范本
- 劳动合同范本唐山
- 闸门改造工程合同范本
- 建筑木材收购合同范本
- 西安工作签合同范本
- 学校用地出租合同范本
- 油库培训大纲及课件
- 高血压病与消化系统疾病的综合防治
- 仓储物流设备安装及管理策略分析报告
- (零诊)成都市2023级(2026届)高三高中毕业班摸底测试语文试卷(含答案)
- 2025年长沙市中考数学真题试卷及答案
- 分装安全操作规程
- 2025至2030中国股权投资行业十四五发展分析及投资前景与战略规划报告
- 认证认可 培训 课件
- 临时用电全管理制度
- 2025年河北高考生物试卷真题答案详解及备考指导
- 设备开停机管理制度
评论
0/150
提交评论