- 1、本文档共38页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 第8章 指 针 YYH版 第8章 指 针 8.1 指针的概念与定义 8.2 指针作函数参数 8.3 指针与数组 8.4 指针与函数 8.5 复杂指针 教材上的第二章2.8 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 8.1 指针的概念与定义 8.1.1 指针的概念 地址 图 8.1 内存分配表 8.1.2 指针的定义及使用 1. 指针的定义:指针是一种存放地址值的变量,它指向/表示另一变量。 设一个数据占两个字节(后同) Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 说明:如它变量一样,必须在使用前定义。指针变量的命名遵守与其它变量相同的规则。指针定义的格式如下: 类型名 *指针名; 例 8.1 指针与非指针的定义 char *pcl,*pc2; /* pcl和pc2均为指向char型变量的指针*/ float *pt,pf; /*pt是float型的指针,而pf为普通的float型变量*/ 例 8.2 指针的指向 int *point; scanf(“%d”, point); //键入十进制数据给指针所指向的地方/变量,这里,若是变量必冠“”,若是指针变量必省“”,即按地址操作。 *不是变量的一部分,而仅仅定义指针变量的标识;而类型是指针变量所指变量的类型。 显然,定义一个指针变量,就可给多个变量赋值(只需改变指向即可) Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 2. 指针运算符( 两个运算符*和): 变量:取变量地址,即取/求指定变量(非指针变量)的地址。 *指针变量:求变量值,即指针运算符(或称“间接访问”运算符),即取出指针变量所指向的变量的值。 例如: a为变量a的地址,*p为指针p所指向的存贮单元的内容。 运算符只能作用于变量,包括基本类型变量和数组的元素、 结构体类型变量或结构体的成员(第九章),不能作用于数组名、 常量或寄存器变量; *只能作用于指针变量。 例如: double r, a[20]; int i; register int k; 则表达式r、 a[0]、 a[i]是正确的, 而(2*r)、 a、k是非法表示。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 例如, 如果pc是指向字符变量c的指针(见上图 8.1 内存分配表),则*(c)和*pc表示同一字符对象c (=‘F’)。因而赋值语句: *(c)=‘F’; *pc=‘F’; c= ‘ F ’; 说明:指针变量应先定义后用单目运算符“*”和“”进行运算;指针变量只能先取地址运算后才能进行其间接访问(*)。 例 8.3 取地址运算符。 int a=10; cout*pendl; int *p; coutaendl; p=a; //输出的两个结果是一样的10 (效果相同,都是将‘F’存入变量c) 图 8.1 内存分配表 设一个数据占两个字节 ……… 地址 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 3. 指针的使用:例8.4 交换任意两个数并输出。 #include stdio.h void main( ) { int a, b, *p1, *p2; a=10; b=20
您可能关注的文档
最近下载
- 小学体育_队列队形教学设计学情分析教材分析课后反思.doc
- 中建项目商务策划汇报模板.pptx
- 公路中小跨径钢-混组合梁桥标准图集(制订)》技术方案报告.docx
- “设计思维与方法”教案.ppt
- 大职赛生涯闯关参考答案.docx VIP
- 2022《美宜佳公司营运资金管理存在的问题及对策研究》开题报告文献综述(含提纲)3200字.docx VIP
- 长垣市人民医院西学中培训班《方剂学》考试.pdf VIP
- 苏教版一年级科学上册4.1《自然物与人造物》(课件).pptx
- 电子商务招聘简章模板.pdf
- 统编版小学语文二年级上册第六单元 先辈伟人 大单元整体学历案教案 教学设计附作业设计(基于新课标教学评一致性).docx
文档评论(0)