- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据库系统概论An Introduction to Database Systems 主讲:严冬梅 第 章 数据库编程 程序设计基础(The C++Programming Language ) 主讲:严冬梅 第7章 指针(Pointer) 第7章 指针 7.1 指针变量 7.2 指针运算 7.3 指针与数组 7.4 指针数组与行指针 7.5 多级指针 7.1 指针变量 7.1.1 指针概念的引入 内存区的每一个字节有一个编号--地址 旅馆房间号 “直接访问” 抽屉的钥匙 “间接访问” 钥匙放在另一个抽屉 指针==地址 指针变量:专门用来存放另一变量的地址(指针)的变量 2000 i:10 2050 pi:2000 7.1 指针变量 2000 i:10 2050 pi:2000 7.1.2 相关概念 指针的目标--指针所指向的内存区域中的内容(即数据) *(取内容运算符) pi=i i=*pi pi=*pi i=*i, 与*互为逆运算 7.1 指针变量 7.1.3 指针变量的说明 格式:[存储类型] 数据类型 *指针变量名; int *pi; double *pd; 说明: 指针变量名与一般变量名的规定相同 数据类型:指针所指向目标的数据类型—基本类型 所有的指针变量都只有一种类型—指针,在内存中占4个字节 数据类型允许为void(无指定类型指针) 7.1 指针变量 运行结果: 100 10 100 10 int main() { int a=100,b=10,*p1,*p2; p1=a;p2=b; couta\tb\n; cout*p1\t*p2endl; } 7.1 指针变量 7.1.4 初始化 格式: int x; int *px=x; //用变量地址 int *py=px; //用其他指针 int *p=(int *)2000; //用常量 注意: 被取地址的变量与指针变量的数据类型一致 作为初始化值的指针必须已经初始化,且类型相同 初始地址也可以是空指针 int *p=NULL; int *p=0; 不能用auto,register指针去初始化静态指针 7.1 指针变量 7.1.5 字符型指针与字符串 字符型指针多用来处理字符串 char *pstr=I Love C Programming!; 字符型指针可直接被复制为常量串,而字符型数组则不行 char *p; p=Hello!; √ char s[10]; s=Hello!;╳ strcpy(s,Hello!); √ 字符型指针必须确定指向后,才能接受具体字符串char *pstr,s[20]; pstr=s; cinpstr; √ char *pstr; cinpstr; ╳ 7.2 指针运算 7.2.1 算术运算 加减整数 p+n, p-n 运算结果为指针当前所指位置的后方或前方第n个同类型数据对象的地址值 p±n=(p)±n*sizeof(基本类型) int main() { int *p1,*p2,*p3; int a[]={ 2,1,6,3,2 }; p1=a[0]; p2=p1+2; p3=p2+2; couthexp1=p1,dec*p1\n; couthexp2=p2,dec*p2\n; couthexp3=p3,dec*p3endl; } 运行结果: p1=0018ff28,2 p2=0018ff30,6 p3=0018ff38,2 0018ff28 a[0]:2 0018ff2c a[1]:1 0018ff30 a[2]:6 0018ff34 a[3]:3 0018ff38 a[4]:2 7.2 指针运算 7.2.1 算术运算 加减1 px++=(px)+=基本类型数据长度 加减后px值发生了变化 int main() { int a[6]={10,20,30,40,50,60},*pa; pa=a+2; cout*pa++\n; cout*++pa\n; cout++*pa\n; cout(*pa)++\n; cout*paendl; } 运行结果: 30 50 51 51 52 404 a[0]:10 406 a[1]:20 408 a[2]:30 410 a[3]:40 412 a[4]:50 414 a[5]:60 pa:408 pa:410 pa:412 a[4]:51 a[4
您可能关注的文档
- 第7章控制系统综合校正解释.ppt
- 第7章扩展存储器设计解释.ppt
- 第7章气体动理论解释.ppt
- 第7章汽车仪表信息系统汽车电气设备(第2版)解释.ppt
- 第7章三端稳压电源PCB板设计实例解释.ppt
- 第7章筛检与诊断试验的设计与评价解释.ppt
- 第7章输入和输出解释.ppt
- 第7章输入输出接口与中断技术解释.ppt
- 第7章数据图表系统开发解释.ppt
- 第7章损伤容限设计解释.ppt
- 2025年快递物流行业全球化趋势与供应链创新研究报告.docx
- 2025年汽车智能驾驶行业技术创新与市场前景分析报告.docx
- 2025年汽车养护行业汽车保养服务需求与智能养护趋势研究报告.docx
- 2025年农机行业智能农机与农机市场前景研究报告.docx
- 2025年科技产业科技创新趋势研究报告.docx
- 2025年区块链技术行业区块链应用与发展趋势研究报告.docx
- 2025年绿色建筑材料市场发展趋势分析报告.docx
- 2025年美妆行业美妆产业数字化转型趋势研究报告.docx
- 2025年零售业行业无人商店发展前景研究报告.docx
- 2025年节能环保行业绿色能源技术与环保产业趋势研究报告.docx
文档评论(0)