C++“指针”学习建议

VIP免费
2024-12-10 2 0 263KB 32 页 5.9玖币
侵权投诉
一.对于众多人提出的 c/c++中指针难学的问题做个总结:
  指针学习不好关键是概念不清造成的,说的简单点就是书没有认真看,指针的学习犹如人在学习饶口令不多看多
学多练是不行的,下面是两个很经典的例子,很多书上都有,对于学习的重点在于理解*x 和 x 的理解,他们并不相同,
*x 所表示的其实就是变量 a 本身,x 表示的是变量 a 在内存中的地址,如果想明白可以输出观察 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…(a<b)…
{…
…………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)…/*…如果*p1<p2,注意这里的*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 的值达到真实改变的目的…*/
二.C++指针使用方法解惑
“void ClearList(LNode * & HL)”
摘要:

一.对于众多人提出的c/c++中指针难学的问题做个总结:  指针学习不好关键是概念不清造成的,说的简单点就是书没有认真看,指针的学习犹如人在学习饶口令不多看多学多练是不行的,下面是两个很经典的例子,很多书上都有,对于学习的重点在于理解*x和x的理解,他们并不相同,*x所表示的其实就是变量a本身,x表示的是变量a在内存中的地址,如果想明白可以输出观察cout

展开>> 收起<<
C++“指针”学习建议.doc

共32页,预览2页

还剩页未读, 继续阅读

声明:本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。玖贝云文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知玖贝云文库,我们立即给予删除!
分类:计算机 价格:5.9玖币 属性:32 页 大小:263KB 格式:DOC 时间:2024-12-10

开通VIP享超值会员特权

  • 多端同步记录
  • 高速下载文档
  • 免费文档工具
  • 分享文档赚钱
  • 每日登录抽奖
  • 优质衍生服务
/ 32
客服
关注