版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
指针实现学生综合测评成绩管理指针与数组复习数组a[0]a[1]a[2]a[3]a[4]复习:一维数组在内存中的存放方法?
inta[5];数组元素的地址:&a[i]数组首地址:&a[0]或a指针与一维数组inta[5];//定义一个5个元素的整型数组int*p; //定义一个指向整型变量的指针变量p=a;在数组中,数组名表示该数组的首地址,即第一个元素的地址,它是一个常量。因此p=a;与p=&a[0];等价,都代表将数组首地址赋值给指针变量p,即指针变量p指向a数组的第一个元素。如图所示。指针与一维数组在p指向首地址前提下,如依次进行以下操作,指针变量p将不断地指向新的数组元素。(1)p++;则表示p向后移动一个位置,指向a[1](2)p--;则表示p向前移动一个位置,重新指向a[0](3)p=p+3;则表示p向后移动三个位置,指向a[3]指针与一维数组1、指针与一维数组的对应关系
inta[10],*p=a;使p指向a数组的第一个元素a[0]各元素的指针按存储单元递增a[0]a[2]a[4]a[3]a[6]a[7]a[1]a[5]a[8]a[9]memorypp+1p+2p+92、用指针访问数组的一般形式对下标为i的元素访问:
a[i],*(a+i),*(p+i)对a[i]的地址表示:
&a[i],a+i,p+i
指向数组访问数组的两种方式:下标方式,指针方式指针与一维数组(1)下标法(常用,很直观)#include<stdio.h>main(){intscore[10],i;printf("请输入10个学生的成绩\n");for(i=0;i<10;i++)scanf("%d",&score[i]);printf("输出的10个学生的成绩为\n");for(i=0;i<10;i++)printf("%3d",score[i]);printf("\n");}(2)用数组名计算数组元素的地址。(效率与下标法相同,不常用)#include<stdio.h>main(){intscore[10],i;printf("请输入10个学生的成绩\n");for(i=0;i<10;i++)scanf("%d",&score[i]);printf("输出的10个学生的成绩为\n");for(i=0;i<10;i++)printf("%3d",*(score+i));printf("\n");}指针与一维数组(3)用指针访问各元素。(常用,效率高)#include<stdio.h>main(){intscore[10],*p,i;printf("请输入10个学生的成绩\n");for(i=0;i<10;i++)scanf("%d",&score[i]);printf("输出的10个学生的成绩为\n");for(p=score;p<score+10;p++)printf("%3d",*p);printf("\n");}
指针与字符数组
(一)字符串的表示形式1.用字符数组实现#include<stdio.h>main(){charstring[]="IloveChina!";printf("%s\n",string);}2.用字符指针实现
#include<stdio.h>main(){char*string="IloveChina!";printf("%s\n",string);}一、字符串的表现形式
C语言中,有两种方式可以实现字符串:字符数组、字符指针。
指针与字符数组
举例
#include<stdio.h>main(){char*ps="thisisabook";intn=10;ps=ps+n;printf("%s\n",ps);}输出字符串中n个字符后的所有字符。ps+10ps
举例
在输入的字符串中查找有无‘k’字符。#include<stdio.h>main(){charst[20],*ps;inti;printf("inputastring:\n");ps=st;scanf("%s",ps);for(i=0;ps[i]!='\0';i++)if(ps[i]=='k'){printf("thereisa'k'inthestring\n");break;}if(ps[i]=='\0')printf("Thereisno'k'inthestring\n");}
举例
将字符串a复制到字符串b。方法一#include<stdio.h>voidmain(){chara[]="Iamaboy.",b[20],*p1,*p2;inti;p1=a;p2=b;
for(;*p1!='\0';p1++,p2++)*p2=*p1;*p2='\0';printf("stringais:%s\n",a);printf("stringbis:%s\n",b);printf("\n");}方法二#include<stdio.h>voidmain(){char*a="Iamaboy.",*b;
b=a;printf("stringais:%s\n",a);printf("stringbis:%s\n",b);printf("\n");}注意:若a,b都是字符指针,则可以用b=a,即将a的地址赋给b,但是若a,b是字符数组,则不能用b=a,应用strcpy(b,a)
比较
字符数组与字符串指针变量的区别存放的是首地址字符数组字符串指针变量每个元素放一个字符不能整体赋值chars[6];s=“abcde”;/*不对*/可以
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 桥面铺装防撞墙、桥台搭板等施工技术方案
- 2024年发动机用玻璃纤维编织套管项目建议书
- 2024年应急指示灯具:消防应急灯项目建议书
- 2024年金属钴粉项目合作计划书
- 2024年制冷空调机械项目发展计划
- 2024年流动式空气质量监测车项目发展计划
- 安全管理体系与保证措施
- 2024年铝平轧材合作协议书
- 山东省临沂市兰山区2024年数学六年级第一学期期末调研模拟试题含解析
- 山东省日照市东港区2024年数学六年级第一学期期末复习检测试题含解析
- (完整word版)乳清蛋白粉工艺规程
- 医院医疗保健质量关键环节、重点部门、重点时段、重点人群管理标准与监控措施
- 医院突发呼吸心跳骤停抢救演练脚本
- 钢结构施工方案(免费)
- 《刷子李》评课稿
- 蔬菜的详细验收标准
- 关于幼儿园园长进班观察与指导【五篇】
- 驾驶员岗位职责说明书
- 新冀人版科学小学四年级上册单元测试题(全册)
- SAP ABAP程序性能调优介绍
- 议论文写作提纲讲课课件
评论
0/150
提交评论