第8章(总)指针分析.ppt

  1. 1、本文档共96页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章(总)指针分析

第八章 指 针 内容提要 指针与指针变量 指针与函数 指针与数组 指针与字符串 指针数组与命令行参数 基本概念--地址 地址:内存单元的编号 (图示1) 数据在内存中的存储 (图示5) 定义变量 -- 分配内存单元(将变量名转换为地址) -- 赋值 综合图示→ 基本概念--指针 变量的三要素:名字、类型与值 每个变量都通过变量名与相应的存储单元相连系,具体分配哪些单元给变量,由C编译系统完成变量名到对应内存单元地址的变换 变量分配存储空间的大小由类型决定 变量的值则是指相应存储单元的内容 数据的读写 根据变量的地址 读写内存单元的内容 指针 (pointer) (图示1) 变量的地址 基本概念—间接访问 直接存取:根据变量名或地址存取变量值 变量地址 内存单元 间接存取:根据指针变量p得到变量a的地址,然后再存取变量a的值 指针变量 变量地址 内存单元 变量访问图示→ 基本概念—指向 指针和指针变量 指针:是一个变量的地址 指针变量:用来存取变量地址(指针)的变量 指向 变量的地址(指针) 变量的内存单元 指针变量--(1) 变量的指针:变量的地址 指针变量:用来存储变量地址的变量 指针变量 另一变量 指针与指针变量→ 指针变量--(2) 指针变量--(3) 指针变量的类型决定了它所能指向的变量的类型→ 指针变量存放的是所指向的某个变量的地址值,而普通变量保存的是该变量本身的值 指针变量并不固定指向一个变量,可指向同类型的不同变量 两个指针运算符: * : 取变量的地址 p=i ; * : 取指针所指向的内容 j=*p ; 指针变量--(4) 注意:*与具有相同的优先级,结合方向从右到左。这样,*p即(*p),是对变量*p取地址,它与a等价;p与(*p)等价,a与*(a)等价 指针运算--(1)  指针变量的初始化 一般形式: [存储类型] 数据类型 *指针名=初始地址值; 指针运算--(2) 指针的赋值运算 将变量地址值赋给指针变量 (举例) 相同类型的指针变量之间的赋值 (举例) 指针运算--(3) 指针运算--(4) 指针的算术运算 加减运算:一个指针可以加、减一个整数n,其结果与指针所指对象的数据类型有关。指针变量的值(地址)增加或减少“n×sizeof(指针类型)” (举例)→ 指针运算--(5) 指针的关系运算 和基本类型变量一样,指针能进行关系运算 例如:p q,p q,p == q,p != q,p = q等 指针的关系运算在指向数组的指针中广泛的运用,假设 p、q是指向同一数组的两个指针,执行p>q的运算,其含义为,若表达式结果为真(非0值),则说明p所指元素在q所指元素之后。或者说q所指元素离数组第一个元素更近些。 指针运算--(6) 指针变量自增、自减运算具有上述运算的特点,但有前置后置、先用后用的考虑,务请小心。 例如:  int a[10], *p=a, *x; x=p++; /* x指向数组的第一个元素a[0] , 然后p指向数组的第二个元素a[1] */ x=++p; /* x、 p均指向数组的第二个元素a[1] */ * p++相当于*(p+ +)。 *(p++)与(*p)++ 含义不同,前者表示地址自增,后者表示当前所指向的数据自增。 2. *a的含意是什么? (答:a ) 3. (*p)++相当于什么? (答:a++ ) 多级指针 二级指针 -说明形式: -(举例)→ 指向指针的指针 多级指针 定义: 指向指针的指针二级指针:指针变量中存放一级指针变量的地址 一级指针:指针变量中存放目标变量的地址 第二讲 8.2 指针与函数 8.3 指针与数组 8.4 指针与字符串 8.5 指针数组与命令行参数 8.2.1 指针作为函数参数 (1)函数行参为指针变量,实参为指针 (举例8.3) (2)函数行参为指针变量,用变量地址作为实参 (举例8.4) 注1:在函数中进行对形参指针的交换不能影响到实参 (举例8.5 ) 注2:函数中交换值时不能使用无初值的指针变量作临时变量。(举例) 8.2.2 指针函数 指针函数:是指返回值为指针的函数

文档评论(0)

wbjsn + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档