- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机程序设计;第6章 按址操作_指针;授课提纲;校园生活举例;物理地址与逻辑地址;工作举例;提取的相关概念;程序如何使用内存?;内存储器地址与数据;逻辑地址向物理地址变换;;取地址运算;指针的含义;授课提纲;指针变量声明;运算符又称为取地址运算符
用于求出变量的内存地址,例如:
double score,*pd;
pd=score; //pd指向score变量
int count,*pi=count; //pi指向count变量
char ch,*pc=ch; //pc指向ch变量
float e=2.718,*pf=e; //pf指向e变量
运算符其它运算意义?;;数据、地址和指针的关系;两变量交换函数;分析不交换的原因;;指针的赋值运算
指针的关系运算
指针的算术运算
;指针的赋值运算;指针的关系运算;指针的算术运算;授课提纲;可以用指针指向数组中每个元素
C++规定单写数组名表示数组的首地址
例如:float a[20],*fp=a;
数组名本身就当作指针常量,等于a[0]
由于数组中的元素在内存中是连续排列存放,可以通过指针±整数来指向任何元素
a[0]?*(fp+0)?fp[0]
a[1]?*(fp+1)?fp[1]
原来通过下标存取数组元素,现在可以通过指针来实现,这样更快捷;指针指向整型数组示例;char *ptr, *qtr;
char sa [6]=Big;
int len=strlen(sa);
ptr=sa;
qtr=ptr+len;
ptr++;
cout*ptr; ?
ptr+=2;
cout*ptr; ?;计算机中处理数组时,实际上将A[i]转换成:
*( A + 下标表达式值 )
即有:A[i] ? *(A+i)
因为数组名表示该数组的首地址,所以:
float A[1000],*ptr=A;
int i=0;
则有:A[i] ? *(A+i) ? ptr[i] ? *(ptr+i)
因此用指针处理数组及元素是最快捷方式;字符串复制函数;字符串复制函数的实现;算法分析(用指针实现)
①令指针i指向数组首地址,指针j指向最尾元素地址
②通过指针i、j,交换指向的元素值
③指针i++,j--
④重复②、③直到i==j处理完毕为止;
注意N个元素需循环N/2次,N是数组元素的个数。;整数数组逆序函数的实现;指针数组的定义;【例5-24】通过指针数组引用二维数组中的元素;用指针数组实现冒泡排序;交换指针的字符串排序方法;授课提纲;程序中使用的变量、数组和函数必须先声明后使用,编译系统根据声明语句开辟内存空间,因此数据占用的???储空间是固定的。这种内存储器分配方法被称为静态存储分配
动态存储分配(dynamic allocation)是在程序运行过程中随机获得内存存储空间的方法
C++用运算符new和delete实现动态存储分配;运算符new用来申请一个变量所需的内存
指针 = new 类型(初值);
也可为数组申请内存:
指针 = new 类型[元素数];
运算符delete用于释放先前申请到的存储块
delete 指针;
若要释放数组的空间,必须放一个空的方括号[]在操作符delete和指向该类对象数组的指针之间
int *p = new int [size];
……
delete []p; ;#include iostream
using namespce std;
int main()
{
int p[10000];
int n;
cout“输入项数(10000): ;
cinn;
p[0]=0; p[1]=1;
coutp[0]endl;
coutp[1]endl;
for(int i=2; in; i++)
{
p[i]=p[i-2]+p[i-1];
coutp[i]endl;
}
return 0;
};授课提纲;int mystrcmp(char s1[],char s2[]) //例6-9
{
int i = 0;
while(s1[i]==s2[i] s1[i]!=0 s2[i]!=0)
i++;
return s1[i]-s2[i];
};部分字符串比较函数;选择排序与冒泡排序方法较为相似
循环N-1趟
每趟挑选最小元素放到数组“最”左边
举例如下:
初始状态:2 7 2 2 3 1
第一趟: 1 7 2 2 3 2
第二趟: 1 2 7 2 3 2
第三趟: 1
您可能关注的文档
- 上海外国语大学《大学物理》课件-第1章质点运动学.ppt
- 上海外国语大学《大学物理》课件-第2章牛顿运动定律.ppt
- 上海外国语大学《大学物理》课件-第3章动量 角动量.ppt
- 西安交通大学 《C语言程序设计》 课件-第1章.ppt
- 西安交通大学 《C语言程序设计》 课件-第2章.ppt
- 西安交通大学 《C语言程序设计》 课件-第3章.ppt
- 西安交通大学 《C语言程序设计》 课件-第4章.ppt
- 西安交通大学 《C语言程序设计》 课件-第5章.pptx
- 西安交通大学 《大学计算机基础》 课件-第2章 信息在计算机中的表示.ppt
- 西安交通大学 《大学计算机基础》 课件-第3章 计算机软硬件协同工作.ppt
- 西安交通大学 《大学计算机基础》 课件-第4章 计算机网络与信息共享.ppt
- 西安交通大学 《大学计算机基础》 课件-第5章 设计网页与创建网站.ppt
- 西安交通大学 《大学计算机基础》 课件-第6章 数据库技术基础.ppt
- 西安交通大学 《大学计算机基础》 课件-第七章 电子表格Excel.ppt
- 西安交通大学 《概率统计与随机过程》课件第七章.ppt
- 西安交通大学 《概率统计与随机过程》课件第三章.ppt
- 西安交通大学 《概率统计与随机过程》课件第十一章平稳过程.ppt
- 西安交通大学 《概率统计与随机过程》课件第五章.ppt
最近下载
- 七上历史早背晚默小纸条.pdf VIP
- 《住院患者身体约束的护理》团体标准解读.pptx VIP
- 安装施工员工作职责内容(32篇).docx VIP
- 气凝胶隔热保温纳米涂料-气凝胶基础材料项目可行性研究报告.doc VIP
- 中心学校校园安全治本攻坚三年行动实施方案(2024-2026).pdf VIP
- 电动升降式高杆灯安装使用说明书.doc VIP
- GB50257-2014 电气装置安装工程 爆炸和火灾危险环境电气装置施工及验收规范.pdf VIP
- 【备战25年高考数学】解答题06 10类导数答题模板(原卷版) (2).docx VIP
- 《思想道德与法治》课件——专题6 遵守道德规范 锤炼道德品格.pptx VIP
- 【备战25年高考数学】解答题01 7类解三角形答题模板(解析版).docx VIP
文档评论(0)