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

cc++中指针学习两个绝好例子.doc

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
对于众多人提出的c/c++中指针难学的问题做个总结:   指针学习不好关键是概念不清造成的,说的简单点就是书没有认真看,指针的学习犹如人在学习饶口令不多看多学多练是不行的,下面是两个很经典的例子,很多书上都有,对于学习的重点在于理解*x和x的理解,他们并不相同,*x所表示的其实就是变量a本身,x表示的是变量a在 HYPERLINK /Class/Memory/ \t _blank 内存中的地址,如果想明白可以输出观察cout*x|x;,当定义了int *x;后对x=a的理解的问题。仔细阅读和联系下面的两个例子我想指针问题就不是难点了! #include?stdio.h? ? main()? {? int?a,b;?/*?定义a,b两个整形变量用于输入两个整数?*/ int?*point_1,*point_2,*temp_point;?/*?定义三个指针变量?*/ scanf(%d,%d,a,b);?/*?格式化输入a,b的值?*/ point_1=a;?/*?把指针变量point_1的值指向变量a的地址?*/ point_2=b;?/*?把指针变量point_2的值指向变量b的地址?*/ if?(ab)? {? ????temp_point=point_1;?/*?这里的temp_point是用于临时存储point_1的值也就是变量a的地址的?*/ ????point_1=point_2;?/*?把point_2的值赋予point_1?*/ ????point_2=temp_point;? ????/*?由于point_1的值已经改变无法找到,利用前面临时存储的也就是temp_point找回原point_1的值赋予point_2,打到把point_1和point_2值对换的目的*/ }? printf(%d,%d,*point_1,*point_2);?/*?利用*point_1和*point_2也就是分辨指向b和a的方法把值显示自爱屏幕上?*/ }? ? /*?此题需要注意和了解是的此法并没有改变变量a,b的值只是利用指针变量分别存储a和b的地址,然后再把那两个指针变量的值对换一下其实就是存储在? 指针变量里面a与b的地址对换,在利用*point_1和*point_2的方式把调换后的值显示出来这里的*point_1实际就是a,此中算法并非真的改变a,b的值,而是? 利用指针进行地址交换达到大小排序的目的.? */ #include?stdio.h? ? main()? {? int?a,b;?/*?定义a,b两个整形变量用于输入两个整数?*/ int?*point_1,*point_2;?/*?定义三个指针变量?*/ scanf(%d,%d,a,b);?/*?格式化输入a,b的值?*/ point_1?=?a;?/*?把指针变量point_1的值指向变量a的地址?*/ point_2?=?b;?/*?把指针变量point_2的值指向变量b的地址?*/ compositor(point_1,point_2);?/*?调用自定义的排序涵数,把a,b的地址传递给point_1和point_2?*/ printf(%d,%d,a,b);?/*?打印出a,b的值?*/ }? ? static?compositor(p1,p2)? int?*p1,*p2;?/*?定义形式参数p1,p2为指针变量?*/ {? int?temp;?/*?建立临时存储变量?*/ ????if?(*p1*p2)?/*?如果*p1p2,注意这里的*p1和*p2其实就是a和b?*/ ????{? ????????temp?=?*p1;?/*?利用变量temp用于临时存储*p1和就是a的值?*/ ????????*p1?=?*p2;?/*?将*p1的值也就是a的值换成*p2的值也就是b的值,等价于a=b?*/ ?*p2?=?temp;?/*?将*p2的值也就是temp的值等价于b=temp?*/ ????}? }? ? /*?注意:此题与上题不同的是,直接改变了a于b的值达到真实改变的目的?*/

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档