


全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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北京顺义区北务镇卫生院招聘编外人员3人模拟试卷附答案详解(典型题)
- 2025贵州金沙县国有资本投资运营集团有限公司招聘经理层高级管理人员(财务总监)1人考前自测高频考点模拟试题及一套参考答案详解
- 2025年春季广东华兴银行校园招聘考前自测高频考点模拟试题及答案详解(网校专用)
- 2025吉林白山抚松县招聘高中教师9人模拟试卷及答案详解(名校卷)
- 2025年宣城宁国市人民医院招聘医疗卫生人才15人模拟试卷(含答案详解)
- 2025呼伦贝尔扎兰屯市社会福利中心护理员招聘模拟试卷及一套答案详解
- 2025年上海复旦大学附属浦东实验学校教师招聘模拟试卷及答案详解1套
- 2025广西百色市凌云县新活力劳务有限责任公司工作人员招聘8人考前自测高频考点模拟试题有完整答案详解
- 2025河南郑州市第六人民医院招聘模拟试卷及1套参考答案详解
- 2025黑龙江牡丹江市东宁市环境卫生中心招聘公益性岗位2人考前自测高频考点模拟试题及一套完整答案详解
- 箱变应急预案与响应方案
- 肿瘤患者家庭肠内营养护理
- 《拒绝沉迷手机远离“垃圾快乐”》班会课件
- 沉井顶管施工方案
- 锅炉设备更换技术方案
- 班次调度冲突解决
- 管理会计学 第10版 课件 第1、2章 管理会计概论、成本性态与变动成本法
- 领导科学之领导用人(经典)
- 大米先生管理制度
- 手术室仪器设备管理PPT
- 高中政治课程标准解读
评论
0/150
提交评论