第8章-新学习 文档 参考.pptx

  1. 1、本文档共66页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章 内存的高效管理;变量的内存地址 指针 指针与函数 指针与数组 动态存储分配 ;8.1 引例 ;8.1.2 问题分析 依据加密规则,文字加密操作应以单词为单位进行,鉴于对每个单词的操作相同,可以设计一个单词加密函数,通过反复调用该函数实现对一个句子的加密。 在C语言中,采用字符串描述文字信息,通过其首地址加以访问。因此,文字加密函数应该以字符串首地址为参数,通过采用逐个扫描字符串中每个字符的方式实现加密并输出结果。 ;8.1.3 算法设计 1.定义文???加密函数,实现对单词的加密,函数形参为单词首地址;函数体中,从单词的第二个字母开始逐个输出单词中每一个字母,最后输出首字母和字符串"ay";函数值类型为void。 2.主函数从给定的句子中拆分出各个单词,对每个单词调用以上文加密函数输出加密后的内容。 ;8.2 指针;8.2 指针;8.2 指针;8.2 指针;8.2 指针;8.2 指针;8.2 指针;8.2 指针;8.2 指针;8.2 指针;8.2 指针;8.2 指针;8.2 指针;8.2 指针;8.2 指针;8.2 指针;8.2 指针;8.2 指针;8.3 指针与函数;8.3 指针与函数;8.3 指针与函数;8.3 指针与函数;8.3 指针与函数;8.3 指针与函数;8.3 指针与函数;8.3 指针与函数;8.3 指针与函数;8.4 指针与数组;8.4 指针与数组;8.4 指针与数组;2. 指向数组元素的指针 定义指向数组元素的指针与定义指向普通变量的的指针方法相同。但在定义时的指针类型应和数组元素的类型一致。 ;2. 指向数组元素的指针 例8-9 用指向数组元素的指针对数组元素赋值并打印。 问题分析:根据题意,可先令指针指向数组起始地址,在进行赋值或打印操作后指针下移(p++),处理下一个元素。 算法设计:采用循环结构实现对每个元素的赋值或打印操作。 ;程序设计: #include<stdio.h> void main( ) { int a[5], i; int *p; p = a; printf ("请输入五个数:\n"); for (i = 0; i < 5; i++) { scanf ("%d", p); p++; } p = a; printf ("数组中元素为:\n"); for (i = 0; i < 5; i++) { printf ("%d ", *p); p++; } printf ("\n"); };2. 指向数组元素的指针 例8-9 用指向数组元素的指针对数组元素赋值并打印。 问题分析:根据题意,可先令指针指向数组起始地址,在进行赋值或打印操作后指针下移(p++),处理下一个元素。 算法设计:采用循环结构实现对每个元素的赋值或打印操作。 ;讨论: 程序中可以不移动p指针,而是用五个表达式p+0、p+1、p+2、p+3、p+4分别表示a[0]、a[1]、a[2] 、a[3]、a[4]的地址,进而通过*(p+0)~*(p+4)表示a[0]~a[4]的值。程序可改写为: #include<stdio.h> void main( ) { int a[5], i; int *p; p = a; printf ("请输入五个数:\n"); for (i = 0; i < 5; i++) scanf ("%d", p+i); printf ("数组中元素为:\n"); for (i = 0; i <5; i++) printf ("%d ", *(p+i)); printf ("\n"); } ;数组a中元素;8.4 指针与数组;例8-10 设有整型数组a[10],对a中的元素进行逆序操作。 问题分析:使数组中元素逆序,只需从数组的两端开始两两对调元素的值。 算法设计:用指针p和q分别指向数组中首尾两个元素:p=&a[0],q=&a[9],反复执行以下两个操作: (1)对调*p和*q (2) p++,q--; 直到两个指针相遇或者交叉时为止。 ;程序设计: #include<stdio.h> void main( ) { int a[10]={1,3,2,6,7,9,5,8,0,4} ; int i, *p, *q,

文档评论(0)

文人教参 + 关注
实名认证
内容提供者

老师教学,学生学习备考课程、成人语言培训课程及教材等为提升学生终身学习竞争力,塑造学生综合能力素质,赋能学生而努力

版权声明书
用户编号:6103150140000005

1亿VIP精品文档

相关文档