网站大量收购闲置独家精品文档,联系QQ:2885784924

[IT认证]第6章 C语言程序设计指针.ppt

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

指针是C语言中的一个重要概念,要想用C语言编出简洁明快、性能 强、质量好的程序,指针的使用必不可少,它可以对内存中不同数据结构 的数据进行快速操作,并为函数间各类数据的传递提供了简便的方法,是 一种与计算机系统密切相关的数据处理形式,但是,指针又是C语言中最 危险的、滥用指针会造成系统严重的后果。 一.地址和指针:要说清楚指针,首先必须弄清楚数据在内存中的存放。 1.地址和地址内容:计算机的内存空间通常是按字节划分的,每一个字 节为一个存储单元,而每一个存储单元都有一个编号,该编号就称为存储单 元的地址;而每一个单元中存放的数据称为地址的内容(即存储单元内容)。 2.直接访问和间接访问:在程序中定义了变量,编译时系统根据变量 的类型分配一定长度的存储单元,通过变量名来对存储单元进行存储操 作,其实经过编译以后,已经将变量名转换为变量的地址(变量名与存 储单元地址的映射,该映射地址称为变量的地址),对变量值的存储是 通过地址进行的。Eg: printf(“%d”,i); 其执行时,根据变量名i与地址的对 应关系,找到变量i的地址(eg: 2000H),然后从2000H开始的2个字节中 取出数据输出。 按变量地址存取变量值的方式称为直接访问。如果要访问一个变量a 的内容,是通过另一个变量b的内容得到变量a的地址,然后从该地址存 取数据,那么这种访问称为间接访问。 2000H 二.变量的指针和指针变量: 1.变量的指针:即变量的地址称为该变量的指针。 2.指针变量:一个变量a专门用来存放另一个变量b的地址,则该变 量a称为指针变量。 三.指针变量的定义与初始化: 1.指针变量的定义格式: 数据类型 *指针变量名列表; 说明:数据类型是指指针变量所指变量的数据类型;“* ”表示所定的 变量为指针变量。 Eg: int * r1, *r2; //定义了两个指向整型类变量的指针变量r1和r2 float *q; //定义了一个指向单精度实型类变量的指针变量q 2.涉及指针变量的两个运算符: 1)取地址运算符():即取某一个变量的地址。 格式为: 变量名; Eg: a; //表示取变量a的地址, a[3];//表示取数组元素a[3]的地址。 2)指针运算符(*):也叫间接访问运算符或取内容运算符,只能与指 针变量连用,其作用是取得指针变量所指变量的内容。 格式为: *指针变量名; Eg: int a =3; int *r; //定义一个指向整型变量的指针变量r r=a; // 将变量a的地址取出赋给指针变量r printf(“%d”, *r); // 输出指针变量r所指变量a的内容3 3.指针变量的初始化:即在定义指针变量的同时,使它明确指向某一 个变量。 Eg: int *s=k; //定义指针变量s时,使它明确指向整型变量(设在此 之前已定义)k。 注意: 1)当把一个变量的地址赋给某一个指针变量时,该变量必须在此之前 定义否则无意义。 2)变量的数据类型和指针所指向的数据类型要一致。 3)可以把一个已经初始化的指针变量赋给同类型的另一个指针变量。 4)不能将一个常量赋给一个指针变量,同样也不能将一个指针变量 赋给非指针变量。 5)指针可以是空指针(NULL),表示它不指向任何变量,是一种 状态,指针变量赋空与没有赋值含义不同。 6)指针变量所占用的空间是固定的,但其所指的变量所占空间由变 量类型来定。 一.指针的运算:是以指针变量所持有的地址值为运算量进行的运算, 即地址运算。 二.指针运算的种类:种类有限,只能进行如下三种运算。 1.指针的算术运算: ▲指针与整数的加减运算规则:p+(-)n 或 p+(-)1 当指针p指向某一内存中的数据时,表示指针p当前所指位置后方 (p+n)或前方(

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档