网站大量收购独家精品文档,联系QQ:2885784924

中北大学C语言课件第九章指针.ppt

  1. 1、本文档共253页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
void check(int *p) { int i; printf(They are fail:); for(i=0;i5;i++) if (p[i]60) printf(%d ,p[i]); printf(\n); } 1.首先要准确地弄清楚指针的含义。指针就是地址,凡是出现“指针”的地方,都可以用“地址”代替,例如,变量的指针就是变量的地址,指针变量就是地址变量 要区别指针和指针变量。指针就是地址本身,而指针变量是用来存放地址的变量。 9.9有关指针的小结 2. 什么叫“指向”?地址就意味着指向,因为通过地址能找到具有该地址的对象。对于指针变量来说,把谁的地址存放在指针变量中,就说此指针变量指向谁。但应注意:只有与指针变量的基类型相同的数据的地址才能存放在相应的指针变量中。 9.9有关指针的小结 void *指针是一种特殊的指针,不指向任何类型的数据,如果需要用此地址指向某类型的数据,应先对地址进行类型转换。可以在程序中进行显式的类型转换,也可以由编译系统自动进行隐式转换。无论用哪种转换,读者必须了解要进行类型转换。 9.9有关指针的小结 3. 要深入掌握在对数组的操作中怎样正确地使用指针,搞清楚指针的指向。一维数组名代表数组首元素的地址。 9.9有关指针的小结 int *p,a[10]; p=a; p是指向int类型的指针变量,p只能指向数组中的元素,而不是指向整个数组。在进行赋值时一定要先确定赋值号两侧的类型是否相同,是否允许赋值。 对“p=a;”,准确地说应该是:p指向a数组的首元素。 9.9有关指针的小结 4.有关指针变量的定义形式的归纳比较。 9.9有关指针的小结 变量定义 变量定义 int i; int f(); int *p; inf *p(); int a[5]; int (*p)(); int *p[4]; int **p; inf (*p)[4]; void *p; 5.指针运算 指针变量加(减)一个整数 例如:p++,p--,p+i,p-i,p+=i,p-=i等均是指针变量加(减)一个整数。 将该指针变量的原值(是一个地址)和它指向的变量所占用的存储单元的字节数相加(减)。 9.9有关指针的小结 5.指针运算 (2)指针变量赋值 将一个变量地址赋给一个指针变量; 不应把一个整数赋给指针变量。 9.9有关指针的小结 5.指针运算 (3) 两个指针变量可以相减 如果两个指针变量都指向同一个数组中的元素,则两个指针变量值之差是两个指针之间的元素个数。 9.9有关指针的小结 5.指针运算 (4) 两个指针变量比较 若两个指针指向同一个数组的元素,则可以进行比较; 指向前面的元素的指针变量“小于”指向后面元素的指针变量; 如果p1和p2不指向同一数组则比较无意义。 9.9有关指针的小结 5.指针运算 (5) 指针变量可以有空值,即该指针变量不指向任何变量,可以这样表示: p=NULL; 9.9有关指针的小结 内容简要回顾 9.1 指针是什么 一个变量的地址称为该变量的“指针”; 如果有一个变量专门用来存放另一变量的地址(即指针),则它称为“指针变量”。指针变量就是地址变量,即用来存放地址的特殊变量,指針变量的值是地址(即指针)。 “指针”和“指针变量”是不同的概念。 内容简要回顾 9.2 指针变量 1、指针变量的定义 类型 * 指针变量名; 例如:int *pointer_1, *pointer_2; 内容简要回顾 9.2 指针变量 2、指针变量的引用 (1)给指针变量赋值:p=a; //使p指向a; (2)引用指针变量指向的变量 : p=a; printf(“%d”,*p); // *p相当于a (3)引用指针变量的值: printf(“%o”,p); 内容简要回顾 9.2 指针变量 2、指针变量的引用 熟练掌握两个有关运算符: (1) 取地址运算符:& (2) 指针运算符:* (又称“间接访问”运算符) 内容简要回顾 9.2 指针变量 3、指针变量作为函数参数 使用普通变量作为函数参数(实参和形参)的特点: 传递的是变量的值(将实参的值传递给对应的形参); 在函数执行过程中使用形参的值进行计算; 对形参值的改变不会影响对应的实参的值。 内容简要回顾 9.2 指针变量 3、指针变量作为函数参数 使用指针变量作为函数参数(实参和形参)的好处: 传递的是指针变量所指向的变量的地址(将实参指针变量所指向的变量的地址传递给对应的形参指针变量,使得

文档评论(0)

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

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

1亿VIP精品文档

相关文档