- 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章指针引用和动态空间管理.doc
第6章指针、引用和动态空间管理
内容提要】
指针概述 指针与数组 指针与函数 指针与字符串 动态存储分配 引川的概念及应川
熏点与难点】
6.1指针概述
指针变量用于存放一个对象在内存中的地址。通过指针变量可以间接访问对象。
6.1.1指针变朵的定义
格式:
存储类型数据类型*指针变景名;
说明:
通常把指针指hd的变:的数裾类型称为指针的数裾类型;指针变:W:的类型确定P只能指昀 这种既定的数裾类型。而任何一个指针变兒:木旮数裾位的类型都是unsigned long into
这里的“*”表示定义的是一个指针变量。
6.1.2指针运算符
取地址运算符 * M接引用运算符
在指针变M的定义和指针变鲎的引用中都有*p。似引用指针时的忭与定义指针变量吋 含义是不同,在指针变景的定义屮如int *p;是指p是一个指句整型的指针,而在引用时*p 是指p所指向的变量。
6.1.3指针运算
4指针的赋值运算
当向桁针变量赋值吋,赋的值必须是地址常量或变量,不能是7?通整数。指针赋值运算 常见的有以K儿种形式:把一个变量的地址赋予一个指向相同数据类型的指针;把一个指针 的值赋予相M数据类型的另外一个指针;把数组的地址赋予指叫相M数据类型的指针。
士指针的算木运算
指针与整数的加减运算:指指针从当前桁向位置向前或向后移动几个数据单76。由干指 针可以指句不同数裾类型,即数据长度不同的数据,所以这种运算的结果值取决于指针指14 的数据类型。该运算通常用于对数组元素进行操作的场合。
两个指针相减运算:指在两个指针指hd的变W:类型相同时相减的结果为两个指针所指的 地址之间相隔的数据元素的个数。
4-桁针的关系运算
在两个指叫相同类型变暈的指针之间nJ■以进行各种关系运算,它实现对两个指针所指变 量地址值的比较。
6.1.4 const 指针 A桁向常量的指针
格式:const数据类型*指针变量名;
说明:在程序中不能通过指针来改变它所指昀的数裾的值,但是指针本身的值可以改变。
I指针常量
格式:数据类型* const指针变量名=初始地址值;
说明:指针木身的值不吋改变,但它所指向的数裾的值吋以改变。
4指向常量的指针常运
格式:const数裾类型* const指针变虽名=初始地址值;
说明:指针本身的值不可改变,它所指向的数裾的值也不能通过指针改变。
6.2指针与数组
i数组元素的访问
在第叫章屮己经介绍了如何访M数组元素的简单方法,这里介绍访14数组元素的另两种 方法。
地址法:一个数组名代表它的起始地址。地址法即通过地址访问某一数组元素。
如定义inta[5];则对数组的第i+1个元素的访问可以用a[i]或*(a+i)。
对于二维数组如定义int b[2][3];则b[O],b[l]分别代表第一行和第二行的首地址。所
以要访问数组元素b[i][j]可以用下列儿种形式:*(*(b+i)+j)、*(b|_i]+j)、*(b+i仙、*(b+3*i+j)。
指针法:通过指针访问某一数组元素。
如定义一个指向数组元素的指针,int a[5],*p=a;,则对数组的第i+1个元素的访问 可以用*(p+i)它等价于a[i]。
对于二维数组如定义^^12]13』,什斗则则访问数组元素吣讪可以用以下儿种形成:
*(*(q+i)+j)、*(q[i]+j)、*(q+i)[jl、*(q+3*i+j)、q[i][j]。
4数组指针与指针数组
数组指针
格式:数据类型(*指针名)L常量表达式h
说叨:数组指针是一个指向一维数组的指针变量。
指针数组
格式:数据类型*桁针数组名[常量表达式];
说明:数组元素为指针的数组,即数组屮的毎个元素为指既定的数裾类型的指针。
6.3指针与函数
6.3.1指针作为函数参数
若指针作为某函数的参数,对该函数的调用即为传地址调用。
6.3.2指针型函数
当一个函数的返回值是指针类型时,这个函数就是指针型函数。它的作用是当需耍返W 大fi数裾时可以通过指针型函数完成,当然这需要冇效组织数裾所占的A存夺间。这种情况 多川于返回数组、字符串等。
定义指针函数的函数孓的格式为:数裾类型*函数名(参数表)
6.3.3函数指针
‘函数指针就是指叫函数的桁针。
定义格式:
数据类型(*函数桁针名)(参数表);
说明:数据类型是指函数指针所指向函数的返回值的类型,参数表中指明该函数指针所 指叫函数的形参类型和个数。
‘函数指针变S在使用前应该先给它赋值,格式为:函数指针名=函数名;
1当函数指针指向某函数以后,可以用下列形式调用函数:(*指针变量)(实参表列)
‘函数指针数组
定义格式:数据类型(*函数指针名I常暈表达式j)(参数表);
说明:函数指针数组中的每个元素是一个指向既定类型函数的指针。每个元素所指向的 函数具有相同的数据类型和相同的参数
您可能关注的文档
最近下载
- (2026春新版)北师大版二年级数学下册《 保护哺乳动物》PPT课件.pptx VIP
- (2026春新版)北师大版二年级数学下册《 数说西藏》PPT课件.pptx VIP
- 第一章 本科教育概况.doc VIP
- 四川省达州市普通高中2024-2025学年高二上学期期末质量监测物理试题(解析版).docx VIP
- (2026春新版)北师大版二年级数学下册《 谁的得分高》PPT课件.pptx VIP
- (2026春新版)北师大版二年级数学下册《 数一数(二)》PPT课件.pptx VIP
- (2026春新版)北师大版二年级数学下册《 福建土楼》PPT课件.pptx VIP
- (2026春新版)北师大版二年级数学下册《 小蜗牛慢慢爬》PPT课件.pptx VIP
- (2026春新版)北师大版二年级数学下册《 蜗牛的家》PPT课件.pptx VIP
- 省人社厅2022年度考试录用公务员资格复审公告.xls VIP
原创力文档


文档评论(0)