c语言课件第51章.ppt_第1页
c语言课件第51章.ppt_第2页
c语言课件第51章.ppt_第3页
c语言课件第51章.ppt_第4页
c语言课件第51章.ppt_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 ComputerProgramming指针Pointers 内存地址 1 内存地址 内存中存储单元的编号 1 计算机硬件系统的内存储器中 拥有大量的存储单元 每个存储单元容量为 字节 为了方便管理 必须为每一个存储单元编号 这个编号就是存储单元的 地址 每个存储单元都有一个惟一的地址 2 在地址所标识的存储单元中存放数据 注意 内存单元的地址与内存单元中的数据是两个完全不同的概念 内存地址 第一行是给人看的 第二行才是计算机内存中实际存储的数据 第三行是内存的地址 并不是每个0和1所占的位置都被编上地址 而是每8个才拥有一个地址 变量地址 2 系统分配给变量的内存单元的起始地址 C编译程序编译到该变量定义语句时 将变量nNum1登录到 符号表 中 符号表的关键属性有两个 一是 标识符名 id 二是该标识符在内存空间中的 地址 addr 为描述方便 假设系统分配给变量nNum1的4字节存储单元为0012FF7C 0012FF7D 0012FF7E和0012FF7F 则起始地址0012FF7C就是变量nNum1在内存中的地址 scanf d charch A 变量的地址 Thevalueofthevariablech Thememoryaddressofthevariablech The Operator Givesthememoryaddressofanobject a k a地址操作符 addressoperator charch printf p Example Pointers ch 0 x1FFF 0 x2000 0 x2001 0 x2002 0 x1FFE etc B 一个变量里面可以存储另外一个变量的内存地址memoryaddress Pointers 指针是变量Apointerisavariable存放内存地址指向某种类型变量指针通常取名为varPtr cPtr char cPtr Example WesaycPtrisapointertochar 0 x2004 Canstoreanaddressofvariablesoftypechar Pointersandthe Operator Example charc A char cPtr cPtr 0 x2000 把c的地址赋给cPtr NotesonPointers NotesonPointers cont 打印指针中存放的地址值用 p格式转换序列 printf p numPtr Example NotesonPointers cont int numPtr 指针未被初试化 numPtr NotesonPointers cont int numPtr NULL NULL numPtr 申明指针时 最好同时把它初始化为NULL 一个特殊的指针常量 变量值的存取 通过变量在内存中的地址进行 1 直接访问 直接利用变量的地址进行存取 地址和指针的概念 scanf d 的执行过程是这样的 用变量名nNum1作为索引值 检索符号表 找到变量nNum1的起始地址0012FF7C 然后将键盘输入的值 假设为 送到0012FF7C起始点四个字节的内存单元中 2 间接访问 通过另一变量访问该变量的值 变量值的存取 通过变量在内存中的地址进行 地址和指针的概念 The Operator 访问指针边量所指向的变量的值a k a解析操作符 dereferencingoperator 区别于申明指针变量时的类型定义符 B 指针和解析操作符 Example charc A char cPtr NULL cPtr cPtr B 改变cPtr所指变量的值 EasyStepstoPointers Step1 申明指针要指向的变量 intnum charch A floatx num A ch x EasyStepstoPointers cont Step2 申明指针变量 int numPtr NULL char chPtr NULL float xPtr NULL intnum charch A floatx numPtr chPtr xPtr num A ch x EasyStepstoPointers cont Step3 让指针变量指向正确的变量 int numPtr NULL char chPtr NULL float xPtr NULL intnum charch A floatx numPtr numPtr chPtr xPtr num A ch x 指针变量的类型必须和其所指变量一致 chPtr xPtr addrofx addrofch addrofnum EasyStepstoPointers cont Step4 指针变量的解析 int numPtr NULL char chPtr NULL float xPtr NULL intnum ch

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论