- 1、本文档共86页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[高等教育]009-指针5月16日更新
指针 第九章 指针 本章学习要点 理解指针和地址的概念以及指针变量的含义; 掌握指针变量的定义、初始化、运算和移动; 正确地定义和使用指向变量的指针、指向数组的指针、指向函数的指针和指针数组等; 充分理解指针和数组的等价性。 第九章 指针 指针与指针变量 指针与函数 指针与数组 指针数组 9.1 指针与指针变量 基本概念 指针是一种数据类型 整数型 int 基本类型 实数型 float,double 字符型 char 指针类型 数据类型 数组型 构造类型 结构型 struct 联合型 union 枚举型 enum 空类型 void 9.1 指针与指针变量 指针是一个地址——是变量在内存中所对应存储单元的地址 变量的四个属性 变量名称 变量数据类型 变量值 变量地址 9.1 指针与指针变量 变量的地址 多数现代计算机用字节(byte)来分割内存,每个字节可以存储8位(bit)信息; 每个字节都有唯一的地址(address) 。 9.1 指针与指针变量 程序运行时,要将变量的值保存在计算机的存储单元中,每个变量占有一个或多个内存字节,把第一个字节的地址称为变量的地址。 9.1 指针与指针变量 指针变量是存放地址的变量 指针变量pc是char型指针;它的值为1000H,即变量c的地址,或称指针变量pc指向变量c;pc拥有自己的内存地址。 9.1 指针与指针变量 思考 两个概念:指针所指类型和指针类型; 为什么要为指针(地址)的存放专门定义一种数据类型? 为什么要区分指向不同类型的指针变量? 9.1 指针与指针变量 9.1 指针与指针变量 指针变量与地址常量 int a[3]={1,2,3},b,*p; p=a; scanf(“%d”,b); p=b; a是数组名,是数组的首地址,是一个地址常量;b是取b的地址,也是地址常量; p是一个指针变量,它可以用来存放地址——它是一个容器。 9.1 指针与指针变量 9.1 指针与指针变量 9.1 指针与指针变量 9.1 指针与指针变量 9.1 指针与指针变量 变量的两种访问方式 9.1 指针与指针变量 练习:已知int a,*p=a; 若给a赋值或输出,下面语句正确的是: A) scanf(“%d”,a); B) scanf(“%d”,p); C) scanf(“%d”,a); D) printf(“%d”,a); E) printf(“%d”,p); F) printf(“%d”,*p); 9.1 指针与指针变量 例: 已知:int x=2, y, *px; x为一般变量,px为指针型变量 9.1 指针与指针变量 9.1 指针与指针变量 思考:哪些是正确的? 9.1 指针与指针变量 例:程序的输出? main( ) { int a,b,c,d,e, *pa=a,*pb=b, *pc, *pe; pc=c; pe=e; scanf(“%d,%d”,a,pb); /* 输入10,20 */ c=a+b; /* c=30 */ d=*pa+*pb; /* d=a+b, d=30 */ e=*pc; /* e=c=30 */ printf(“%d,%d,%d,%d\n”,c,d,e,*pe+1); } 9.1 指针与指针变量 指针可以指向所有类型的数据 指针指向变量--变量的指针(存变量的地址) 指针指向数组--数组指针(存数组的起始地址) 指针指向函数--函数指针(存放函数的入口地址) 指针指向指针--指针型指针(存放某指针的地址) 由指针组成的数组--指针数组 指针指向结构 指针指向文件 ——指针是定位其它对象的特殊类型的数据。 第九章 指针 指针与指针变量 指针与函数 指针与数组 指针数组 9.2 指针与函数 三个方面: 指针作为函数的参数 函数返回指针 指向函数的指针 9.2 指针与函数 指针作为函数的参数 用指针在函数之间“传递”地址,做到共享存储。 必须满足:实参和形参应是同类型的指针变量。 例:交换 用指针完成两数的交换 数组名、指针、形参、实参 在函数之间传递数组,数组名可以作函数的实参和形参,指针也可以做函数的实参和形参,对应关系有以下4种: 1. 形参和实参都用数组名; 2. 实参用数组名,形参用指针变量; 3. 实参、形参都用指针变量; 4. 实参为指针变量,形参为数组名; 在函数之间传递数组,当形参使用指针时,在被调用函
文档评论(0)