- 1、本文档共94页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机程序设计基础05
第5章 指针的应用 西南交通大学软件学院 计算机基础教研室 教学目标 掌握地址与指针的概念; 掌握指针类型变量的定义、赋值以及使用的方法; 掌握将一个变量或数组的地址赋给指针类型的变量; 掌握指针操作相关的运算符; 教学目标 掌握通过指针类型的变量去访问单一变量; 掌握通过指针类型的变量去操作一维数组; 教学内容 着重介绍指针与指针变量的概念; 指针类型变量的定义、赋值以及使用的方法; 指针与地址运算符; 通过指针类型的变量去访问单一变量; 掌握通过指针类型的变量去操作一维数组; 程序运行结果: §5.2指针变量的定义、赋值及使用 [例5.2]阅读以下程序,并给出该程序的运行结果。 程序运行结果: 编程技巧: 指针变量的定义: 数据类型 *指针变量 例如:int *p; ①??定义语句中的“*”表示该变量为指针变量; ②??一个指针变量只能存储同一种类型变量的地址。 2、指针变量的赋值 (2)为指针变量赋值 定义指针变量后,可用赋值语句将其置初值。 语法形式: 指针变量名=地址; 可以是变量的地址、数组名、函数名等。 2、指针变量的赋值 例如:【例5.2】中对于指针变量p和q的先定义,再赋值。 int *p; int *q; p=x ; // 必须先定义变量x,后将x变量的地址赋给p,也称为p指向了x q=p; // 可以用已赋值的指针变量赋值给另一个指针变量 2、指针变量的赋值 (3)允许声明指向 void 类型的指针,该指针可以被赋予任何类型对象的地址。 例: void *general; int *point; int i; general=i; point=( int *) general; 2、指针变量的赋值 特别注意: (1)指针与指针变量的区别: 指针是内存单元的地址,简称地址。 指针变量是用于存储变量地址的变量。 2、指针变量的赋值 特别注意: (2)数值0是可以直接赋给指针变量的唯一整数值,表示该指针为空指针,不指向任何地址 ;且不能把常量或表达式的地址赋给指针变量。 2、指针变量的赋值 特别注意: P=67; //非法的 P=(i+5) //非法的。 int *p; p=0; // 合法 ,p为空指针,不指向任何地址 3. 指针变量的使用: (1)指针运算符*,也称为“间接访问”运算符,是一个一元运算符,表示指针变量所指向的变量的值。 (2)取地址运算符 ,是一个一元运算符,用来得到一个对象的地址,例a,取变量a的地址。 3. 指针变量的使用: 例: int a=3,b,*p1; p1=a; a 取变量a的地址; b=*p1; 等价于 b=a; *p1 取指针变量p所指向的变量的值(即p所指向内存单元的内容)。 §5.3 简单变量与指针 【例5.3】 运用指针的方法编程实现:从键盘输入一个字母,判断该字母如果是大写字母就转化成其对应的小写字母,如果是小写字母就转化成其对应的大写字母,并将结果输出到屏幕。 程序运行结果: 编程技巧: (1)程序中要操作的数据为字母,其数据类型就要是char型,再定义指针变量p操作时, 它的数据类型与它要操作的变量的数据类型保持一致,同为char型。 编程技巧: (2)定义好指针变量p后,用赋值语句p=ch;将它要操作的变量的地址赋给了指针变量p,就可以利用指针变量p去操作输入的字母。 编程技巧: (3)用间接访问*p,替代变量名来操作变量,【例5.3】中cin*p;与语句cinch;等价,*p=*p+32;在键盘输入值的基础上加上32,与语句ch=ch+32;等价。 (4)用*p输出值。 5.特别注意: ① * 出现在定义语句中和执行语句中其含义是不同的。 例如: int x=1,*p=x; // p表示p是一个int型指针变量 cout*p; // p表示输出指针p所指对象的内容 5.特别注意: ② char ch; char *p; p=ch ; /* 是将字符型变量ch的地址赋给字符型指针变量p,所以一定要先定义ch,然后才能将c
文档评论(0)