C语言程序设计课件第7章_xu.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文档。上传文档
查看更多

给指针变量赋值intb,*p1=b,*p2;p2=p1;此时p1,p2中存放的都是变量b的地址,*p1,*p2与b等价int*p=NULL;p为空值。用NULL时必须包含头文件stdio.h也可以写为:p=‘\0’;或者p=0;传值结论:值传递中,参数传递是单向的。形参的改变不会影响实参的改变传地址结论:地址传递使得形参地址和实参地址指向同一段内存空间。内容的改变是双向的。传地址思考为什么这里没有实现a和b的交换?若有:inta[10],*p=a;数组元素的直接访问与间接访问: a[i]?*(p+i)数组元素的等价关系:a[i]?*(a+i)?*(p+i)?p[i]元素地址的等价关系: a+i?a[i]?p+i?p[i]*%x输出没有前面的0%p输出就是主机的地址格式8位16进制地址,代表机器为32位机***画图表示互逆*在黑板上演示,定义一个指针变量p,对p进行加减的操作,而不是用地址常量操作,地址是编译是随机分配的。**高级语言程序设计南京邮电大学计算机学院计算机软件教学中心高级语言程序设计第07章指针重点掌握指针的定义和使用方法用指针访问数组指针在函数参数中的传递(地址传递)** intx=10;变量占用的内存空间大小由类型决定变量地址为变量占用内存空间的首地址例7.1:intx=10;printf(x=%d\t%p\n,x,x);变量的地址和变量的值10x0x28ff1cx间接访问(寻址)直接访问(寻址)指针变量的定义指针变量:专门存放地址数据的变量定义格式:基类型*指针变量名1[,*指针变量名2,…..*指针变量名n];例:int*p;定义了一个指针变量p,用以存放整型变量的地址此时仅仅定义一个可以指向整型变量的指针,但是没有给p赋值,也就是p没有指向任何整型变量可以同时定义多个指针变量如:int*p,*q,*r;指针变量的初始化和赋值初始化intx; int*p;p=xint*p=x;给指针变量赋值inta,b,*p;p=b;p中存放的是变量b的地址,*p与b等价p=a;p可动态地指向不同内存,从而*p代表不同的变量(只能指向整型变量)bbp*ppaa*p×bb*p1p1bp2*p2给指针变量赋值指针的非法使用int*p;*p=100;指针变量使用过程中需要始终关注指针的指向,避免出现非法使用指针的情况。*有问题吗?*取址运算和间接引用运算*优先级相同,结合方向都为从右向左。互为逆运算,运算时保证每一步都有意义。例:intm=5,*p=m;有等价关系:(1)p与m;(2)*p与m; (3)*p与p;(4)*p与p (5)*m与m但是:*m=m;却是错误的,因为m不代表地址,m5p*p&pm指针的运算:和**指针的算术运算关键:基类型int*p,*q;运算:加减一个整数(1)指针加一个整数i,是将当前地址值加上i*sizeof(基类型)(2)指针减一个整数i,是将当前地址值减去i*sizeof(基类型)(3)指针变量可以进行++、--运算注意:必须保证结果指针指向应用程序的数据空间,否则不能间接访问地址值整型值0x12ff0050x12ff0460x12ff0870x12ff0c80x12ff109sizeof(int)=4pq*指针的其他运算intarray[10];int*p1=array[0];int*p2=array[9];关系运算:p1p2逻辑运算p1==NULL数组arrayarray[0]array[1]array[2]……array[9]p1p2指针与函数指针变量可以出现在:形参----传地址返回类型***例7.3:传值与传址1581581581515881581515a)调用函数(b)执行函数c)从函数返回tempxybmain函数①②③aaatemptempxxyybb158815ab

文档评论(0)

文档杂货铺 + 关注
实名认证
文档贡献者

电力工程师、注册电气工程师持证人

本店终极目标:您需要的我们这儿都有!

领域认证 该用户于2025年06月21日上传了电力工程师、注册电气工程师

1亿VIP精品文档

相关文档