--指针.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
--指针

* 教学目的与要求 (1)理解变量的存储结构 (2)理解指针的概念 (3)掌握单星指针的用法、双星指针的用法 (4)掌握通过单星指针访问一维静态数组 (5)掌握通过单星指针访问二维静态数组 (6)理解双星指针与二维数组的关系 课时 2 第7章 指针(1) * 内容提要: 7.1 问题的提出与程序示例 7.2 变量的存储结构 7.3 指针的概念 7.4 指针的类型 7.5 指针与数组 7.5.1 一维数组与指针 7.5.2 二维数组与指针 * * 7.1 问题的提出与程序示例 【例7-1】指针变量的定义和用法 #include stdio.h void main() { int x = 5; int* p; //定义指针变量p p = x ; //把x的地址送给p *p = 10; //访问x的存储单元 printf(x=%d\n, x); } 程序运行结果: x=10 * 7.2 变量的存储结构 * * 地址 存储单元 地址 存储单元 变量名 ……     101   101 A Ch 102   102 5 I 103   103 104   104 105   105 106   106   107   107 3.8 f 108   108 109   109 110   110 111 111     112   112   113   113   ……     * 7.3 指针的概念 实体的地址也称指针。指针不能用一般的变量存储,需要用一种特殊的变量来存储,这种特殊的变量就是指针变量。 定义指针变量的一般格式为: 数据类型 * 变量名; 例如,int * p; 定义了指针变量p * * * 【例7-2】指针变量的定义和用法 #include stdio.h void main() { int x = 5, y = 10; int* p, *q; p = x; //取出变量x的地址,送给指针变量p q = y; //取出变量y的地址,送给指针变量q printf(x=%d,y=%d\n, x, *q); printf(x=%d,y=%d\n, p[0], q[0]); } * 。 * 下面给出指针的一个重要概念和三个运算符: (1)在C语言中,如果一个指针变量p存储了另一个变量x的地址,则称p指向x。例7-2的指向关系如图7-3所示。 (2)是取地址运算符,用来取出变量的地址。 (3)*是间接引用运算符,作用于一个指针变量,访问该指针所指向的内存数据。只有指针变量指向了某个变量,才能使用该运算符,否则将引起异常。当指针变量p指向一个变量时,可以用*p代表该变量。 (4)[ ]是下标运算符,当指针变量p指向一个变量时,可以用p[0]代表该变量。这是把存储空间当做只有一个下标变量的数组来使用。 y y q x p x * 7.4 指针的类型 基本数据类型、非基本数据类型和函数,都有相应的指针类型,如,int*,int**,char*,char**,int (*)[4],int (*)()等。定义的指针变量用于指向对应的数据类型。简单地说,指针变量只能存储同类型实体的地址,通过指针变量访问实体。 用一般数据类型加*定义的指针变量称为单星指针变量,加**定义的指针变量称为双星指针变量,加***定义的指针变量称为三星指针变量,依次类推。双星指针变量也称为指向指针的指针。 * * 【例7-3】指向指针的指针 float a = 5.2; float*fp, **fpp; fp = a; fpp = fp; C语言规定,指针变量的地址,要用更高级别的指针变量来存储。 * * 【例7-4】数据类型的理解 * * 【例7-5】指针变量的理解 #include stdio.h void main() { int x = 5; int*p; p = x; *p = 8; printf(%d\n,x); } 程序运行结果: 8 * * 7.5 指针与数组 7.5.1 一维数组与指针 指针加1指向下一个下标变量,也就是下一个存储单元。 a[i]——下标法 *(a+i)——地址法 * 【例7-6】分别用下标法、地址法访问数组元素。 #include stdio.h void main() { int a[5] = {5, 10 ,15, 20, 25}, i, *p; for(i = 0; i 5; i++) { printf(%4d,

文档评论(0)

qwd513620855 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档