C语言高级编程第七课.pdf

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

高质量C语言编程 3 Sept. 2008 © Neusoft Confidential 第七章:指针 目标: 1)指针的用途 时间:6学时 2)掌握二级指针的正确使用 3)掌握指针数组的正确使用 教学方法:PPT+实验 4)熟悉函数指针的使用 5)掌握各式各样的指针的识别 6)独立完成作业题 指针到底有什么好处? 好处太多了,比如:  提高程序效率(高效地传递数组和结构,指针偏移 可以指向任何数组元素或者任何数据结构的成 员) 。  实现动态数组,对多个相似变量的一般访问(模 拟数组) 。  实现各种动态分配的数据结构。 “好坏参半”的指针 指针是 “神通广大的特权者”,它不受约束,可以访问任意内存 。 p = a ;//变量a的地址; p = A ;//数组名A; p = q ;//指针q; p = fun ;// 函数名fun; p = NULL ;//NULL; 最能体现C的灵活性,但也给程序埋下了隐患。 甚至也有人说指针 “好坏参半”,的确如果使用不当,特别是赋 予了它一个错误的值时,会成为一个机器隐蔽的、难以发现和 排除的故障。 所以要慎重的使用指针。 7.1 指针的概念 内存中每一个字节有唯一 编号,这就是 “地址”。 0013FF78 10 0013FF7C 0013FF80 0013FF84 变量的访问方式: 0013FF88 (1)直接访问──使用变量名 0013FF8C 进行存取。 0013FF90 0013FF94 (2)间接访问──通过该变量 的地址来访问。 *(int *)(0x0013FF78) = 10; 地址 内存 地址编号不容易记忆,访问不方便。 7.1 指针的概念 指针是用来存放其它变量地址的变量(且只能存放地址) 。是 一种特殊形式的变量。 特殊在哪儿?  其value是别人的地址;  可以定义为 void *  间址访问才有意义。 指针是C语言提供给编程者符号化使用 “难记忆的”硬件地 址的一种方法。 7.1 指针的概念-误区 1. 有人说: “指针就是地址 !”对吗?为什么? 2. 数组名是什么? 指针是一种容纳地址的变量,通常也叫指针变量,统称指针 。而地址则是内存单元的编号,是一个常值。指针绝对不 等同于地址,千万不要把二者意义混淆。 数组名是常地址 7.2 指针的定义方式 类型 *指针变量名; 定义了指针变量之后,它只能指向同一个类型的变量。 以下定义,pb是指针吗? 1) char* pa,pb; 2) char *pa,pb; pb若为指针,应该写成:char *pa,*pb; 或者: char *pa; char *pb; 推荐写成后一种写法。 7.3 和指针有关的运算符 :取址运算符(※只能作用于变量) 。 *:指针运算符(间接访问运算符),或指针定义符。 示例1: int main() { int i = 0; int *p = i; //此处*为指针定义符

文档评论(0)

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

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

1亿VIP精品文档

相关文档