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

福大计算机2级c语言课件第6章.pptVIP

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

§6.1 §6.2 (一)变量的指针(即地址) 、指向变量的指针变量 存储在内存储器中的每个数据都是用若干个单元(字节)存放。 如一个int型数据占2个单元 为能访问这些内存单元,我们给每个内存单元编号。内存单元的编号称为地址。 变量的指针:存储变量值——一个数据的若干个单元的首地址(其中第一个单元的地址) ;例1:? int j=153; char c=’A’; long m=72561; j的指针为2000 c的指针为2002 m的指针为2003;指向变量的指针变量 例1 int j=153; char c=’A’; long m=72561;;注意: 变量的指针与指针变量的区别: 变量的指针:本变量的地址 指针变量:一个变量、此变量是用来存放另一个变量的指针、不是用来存放一个数据;一.定义指针变量:与以前学的普通变量一样,但变量名前加一个* 例如: int a,b,*p,x; char *w,c1,c2; 定义p为指向int型变量的指针变量、 w为指向char型变量的指针变量 注意:一个指针变量只能指向所定义的类型变量,如w只能指向char型变量,不能时而指向一个char型变量,时而又指向一个float型变量。 至于p、w究竟指向哪一个变量,取决于向p、w赋予的地址。;二、指针变量初始化和赋值: 指针变量同普通变量一样,使用之前不仅要定义,而且必须赋予具体的值。指针变量的赋值只能赋予指针(地址),决不能赋予任何其它数据。 int j=153 , k=-42 ,*p=j ,*q; q=k; 定义p与q为指针变量 (可认为*p与*q为int型变量); ;三.用指针变量表示其所指向的变量 即通过指针变量间接访问其所指向的变量 *:称指针运算符或 “间接访问” 运算符。 若有 int *p,j; p=j; 即 p指向j 则 *p表示指针变量p所指向的变量 j ;int i,j,*p1,*p2; i=a; j=b; p1=i; p2=j; 如右上图所示 接着执行 p2=p1; 使p2与p1都指向i, 此时*p2与*p1都 等价于i,;若执行 *p2=*p1; 即执行 j=i; (表示把p1指向的变量i中的内容赋给p2所指向的变量j中);指针变量可出现在表达式中 设int x,y,*px=x; 指针变量px指向变量x,则*px可出现在x能出现的任何地方。例: y=*px+5;?表示y=x+5; y=++*px;? 相当于y=++(*px); 或相当于y=++x; y=*px++;?相当于y=*(px++); 或相当于y=*px;px++; 或相当于y=x; px++; ; 四、若指针变量p指向普通变量j (即p=j) 则有 1、*j ——*(j) ——*p——j 2、*p——(*p)——j——p *j 无意义;main( ) {float a,b,*p,*q,*t; p=a;q=b; a=12.8;b=-6.1; t=p;p=q;q=t; printf(”(1)%f,%f\n”,a,b); printf(”(2)%f,%f\n”,*p,*q);};10.1输入3个整数,按由小到大顺序输出 main() 下面程序的方法由下一页图所示 { int a,b,c,t ; scanf(”%d%d%d”,a,b,c); if(ab){ t=a;a=b;b=t;} if(ac){ t=a;a=c;c=t;} if(bc){ t=b;b=c;c=t;} printf(”%d,%d,%d\n”,a,b,c); } ;14;main() 下面程序的由下一页图所示 { int a,b,c,*t,*pa=a,*pb=b,*pc=c; scanf(”%d%d%d”,pa,pb,pc); if(*pa*pb) {t=pa;pa=pb;pb=t;} if(*pa*pc) {t=pa;pa=pc;pc=t;} if(*pb*pc) {t=pb;pb=pc;pc=t;} printf(”%d,%d,%d\n”, *pa,*pb,*pc);};14;(二)一维数组元素的 指针、指向数组元素 的指针变量

文档评论(0)

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

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

1亿VIP精品文档

相关文档