- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验六指针课前讲解
实验六 指针 1 变量的定义和使用 实例: 定义一个指针变量, 该指针变量用来存 放整型变量a的地址。向变量a中输入数据并 将数据输出来。 2 指针和一维数组 三、数组和指针使用实训 下面这个程序的功能是实现将一维数组s[12]升序排列,在在程序空白处填入合适内容. * 2000 2001 2002 2003 2004 2005 下一页 3 长度为8个比特的存储空间 1、存储单元 2、地址 每个存储单元的地址编号 注意:变量名、变量值、变量地址的区别。 例:int a=3; 3、指针 就是地址 4、变量的指针 就是变量的地址 5、指针变量 用来存放其他变量地址(指针)的变量 一、指针变量的定义 指针变量定义的一般形式: 基类型 *指针变量名 int *p; p 例如: float *p; char *p; 跳转 二、指针变量的初始化 int *p; p int a; a 2000 int *p=a; 或 p=a; a p和a的关系: 指针变量p指向变量a; 注意: 赋值时,只能将地址值赋给指针变量; 而且指针变量和它所指向的变量的类型应该一致. 如何将整型变量a的地址赋给指针变量p呢? 三、指针变量的引用 如何向指针变量p所指向的变量a中输入和输出数据呢? 方法1: 直接使用变量a的方法 scanf(“%d”,a); 方法2: 间接使用指针变量p的方法 scanf(“%d”,p); 输入 方法1: 直接使用变量a的方法 printf(“%d”, a); 方法2: 间接使用指针变量p的方法 printf(“%d”,*p); 输出 返回 main( ) { int a; int *p; p=a; scanf (“%d”, p); printf (“%d”,*p); int *p=a; scanf(“%d”,a); 或 printf(“%d”, a); 或 注意:1、是地址运算符, 取变量的地址; *是指针 运算符, 取地址单元中的值。 2、如果指针变量p指向普通变量a,则*p等价 于a;p等价于a; 例:int *p; int a; p=a; p a int num[8]; int *p; num[0] num[1] num[2] num[3] num[4] num[5] num[6] num[7] p 如何使指针p指向数组num呢? 一、指向数组元素的指针 int num[8]; int *p; p num[0] num[1] num[2] num[3] num[4] num[5] num[6] num[7] 1、使指针指向数组元素num[0] p=num[0]; 2、使指针指向数组元素num[1] p=num[1]; 3、使指针指向数组元素num[i] p=num[i]; p=num; 二、通过指针引用数组元素 p num[0] num[1] num[2] num[3] num[4] num[5] num[6] num[7] 已知p=num; 1、p+1表示使指针指向num[1],则*(p+1)表示数组元素num[1]的值 2、p+i表示使指针指向num[1],则*(p+i)表示数组元素num[i]的值 3、p+i等价于num+i、num[i]、p[i]; 4、*(p+i)等价于*(num+i)、num[i]、p[i]; 实训1 下面这个程序的功能是使用指针来实现数组的输入和输出。请在程序的空白处填入合适的内容。 main( ) {int s[10],*p,i; for(i=0;i10;i++) scanf(%d,p++); for(i=0;i10;i++) printf(%5d,*p++); } p=s; p=s; main( ) {int s[10],*p; for(p=s;ps+10;p++) scanf(%d,p); for(p=s;ps+10;p++) printf(%5d,*p); } 另一种写法: 实训2 main( ) {int s[12],num,i,j; int *p; for(i=0;i12;i++) scanf(%d,p+i); for(i=0;i12;i++) for(j=i+1;j12;j++) if(*(p+j) *(p+i)) for( ; ;p++) printf(%5d,*p); } {num=*(p+j);*(p
您可能关注的文档
- 国家预算的功能和作用.ppt
- 四级作文的试题类.ppt
- 化学2017年高考总复习第二单元离子反应课件.ppt
- 国有经济及国有资源收入.pptx
- 国民收入核算(SNA体系).ppt
- 国际企业的经营方式.ppt
- 国防教育的基本特征与.ppt
- 和谐宇宙间最美的音乐.ppt
- 国际公约与我国刑事诉讼法.ppt
- 国际信贷合作(jk).ppt
- 中国国家标准 GB/T 5211.9-2025颜料和体质颜料通用试验方法 第9部分:相同类型着色颜料耐光性的比较.pdf
- 《GB/T 5211.9-2025颜料和体质颜料通用试验方法 第9部分:相同类型着色颜料耐光性的比较》.pdf
- 《GB/T 37228-2025安全与韧性 应急管理 突发事件管理指南》.pdf
- GB/T 23724.3-2025起重机 检查 第3部分:塔式起重机.pdf
- 中国国家标准 GB/T 25163-2025防止儿童开启包装 可重新盖紧包装的要求与试验方法.pdf
- 《GB/T 25163-2025防止儿童开启包装 可重新盖紧包装的要求与试验方法》.pdf
- GB/T 16263.5-2025信息技术 ASN.1编码规则 第5部分:W3C XML模式定义到ASN.1的映射.pdf
- 中国国家标准 GB/T 16263.5-2025信息技术 ASN.1编码规则 第5部分:W3C XML模式定义到ASN.1的映射.pdf
- 《GB/T 16263.5-2025信息技术 ASN.1编码规则 第5部分:W3C XML模式定义到ASN.1的映射》.pdf
- GB/T 11349.2-2025机械振动与冲击 机械导纳的试验确定 第2部分:用激振器作单点平动激励测量.pdf
文档评论(0)