


全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 变量的指针和指向变量的指针变量读起来很拗口,说白了就是变量的地址和用来存放变量地址的地址变量。因为一个变量在编译的时候系统要为它分配一个地址,假如再用一个变量来存放这个地址,那么这个变量就叫做指向变量的指针变量,也就是用来存放变量地址的这么一个变量。所谓指向就是指存放的地址,如指向变量的指针变量,指向就是指用来存放变量的地址,再如指向数组的指针变量,指向就是指存放数组的地址。只要理解了这个,指针也就不难了。另外,还有指向字符串的指针变量,指向函数的指针变量,指向指针的指针变量等。1) 指针变量的定义形式:类型标识符*标识符如:int *pointer;要注意两点:*表示pointer是个指针变量,在用这个变量的时候不能写成*pointer, *pointer是pointer指向的变量。一个指针变量只能指向同一个类型的变量。如上面pointer只能指向int型变量。2)指针变量的引用两个有关的运算符:& 取地址运算符 &a 就代表变量a的地址* 指针运算符*a就代表变量a的值2 数组的指针和指向数组的指针变量数组的指针指数组的起始地址,数组元素的指针指数组元素的地址。 1)指向数组元素的指针变量的定义与赋值定义和指向变量的指针变量定义相同,c规定数组名代表数组的首地址,即第一个数组元素地址。2)通过指针引用数组元素我们通常引用数组元素的形式是a,如果用指针可以这样引用,*(a+i),或定义一个指针变量p,将数组a的首地址赋给p,p=a;然后用*(p+i)引用。注意:指针变量指向数组a首地址,则p+指向数组的下一元素地址,即a1的地址。3)数组名作函数参数形参数组和实参数组之间并不是值传递,而是共用同一段地址,所以在函数调用过程中如果形参的值发生变化,则实参的值也跟着变化。4)指向多维数组的指针和指针变量 以二维数组为居多。假设定义了一个二维数组a34,那么a代表整个二维数组的首地址,也代表第0行的首地址,同时也是第0行第0列的元素的首地址。a +0和a0代表第0行首地址,a+1和a1代表第一行的首地址。假设a是一个数组的首地址,那么如果a是一维的,a+I代表第I个元素的地址,如果a是二维的,则a+I代表第I行的首地址。那么第一行第二列的元素地址如何表示呢?a1+2或&a12或*(a+1)+2。我们只要记住:在二维数组中a代表整个数组的首地址,aI代表第I行的首地址,aI与*(a+I)等价就行了。只要运用熟练了就没什么复杂的了。 5)指向由m个整数组成的一维数组的指针变量如:int (*p)4,p是一个指向包含4个元素的一维数组,如果p先指向a0,则p+1指向a1,即p的增值是以一维数组的长度为单位的,这里是4,举个例子:假设a34=,p先指向a0也就是数组a的首地址,那么p+1就是a1的首地址即元素9的地址,因为在定义p时int (*p)4,定义一维数组长度为4,所以p+1就等于加了一个一维数组的长度4。3 字符串的指针和指向字符串的指针变量1)字符串的表示形式c中字符串有两种表示形式:一种是数组,一种是字符指针 char string=I love c!;char *str=I love c!;其实指针形式也是在内存中开辟了一个数组,只不过数组的首地址存放在字符指针变量str中,千万不要认为str是一个字符串变量。2)字符串指针作函数参数实际上字符串指针就是数组的首地址。3)字符指针变量与字符数组的区别 字符数组由若干元素组成,每个元素存放一个字符,而字符指针变量只存放字符串的首地址,不是整个字符串 对数组初始化要用static,对指针变量不用。 对字符数组赋值,只能对各个元素赋值,不能象下面这样:char str14;str=I love c!;对指针变量可以, char *str;str=I
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中小企业员工劳动合同范本及全面假期福利保障细则
- 地毯维保知识培训内容课件
- 2025年医疗设备进出口业务代理及技术服务合同
- 2025医疗信息化项目系统集成与运维服务采购合同
- 2025年智慧城市建设项目科技研发招标服务与合同执行跟踪协议
- 影视基地租赁合同包含设备使用及维护服务
- 2025年智能化标准工厂租赁合作协议
- 2025年度绿色包装解决方案及百货日用品市场拓展合作协议
- 2025年医院与科研机构合作开发新型生物治疗药物协议
- 2025年汽车租赁业务特许经营授权合同范本
- (高清版)DZT 0208-2020 矿产地质勘查规范 金属砂矿类
- 2019版新人教版高中英语必修+选择性必修共7册词汇表汇总(带音标)
- 《武汉大学分析化学》课件
- 医学影像学与辅助检查
- 电力工程竣工验收报告
- 双J管健康宣教
- 如何提高美术课堂教学的有效性
- 水电站新ppt课件 第一章 水轮机的类型构造及工作原理
- 护理查对制度课件
- 市政工程占道施工方案
- GB/T 39965-2021节能量前评估计算方法
评论
0/150
提交评论