A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© wandehua9108 中级黑马   /  2015-9-7 23:44  /  990 人查看  /  11 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

这几天学了一下指针   我现在真的  是蒙圈了   各种含义都给我弄蒙了  现在求助  大神  给讲解讲解  白话文谢谢!!!!

11 个回复

倒序浏览
你要提出具体的不明白的问题点才行呀
回复 使用道具 举报
百度去。。。。一遍看不懂看三遍    买本书    专门看一个礼拜  不信整不明白
回复 使用道具 举报
指针就是一个存储变量所在地址的变量
回复 使用道具 举报
骚年,这个谁也帮不了你啊,记住:指针就是地址。剩下的多做两个题,多研究研究就明白了。都是这么过来的!
回复 使用道具 举报
我觉得买本相关的书籍配上视频,应该会有效果的
回复 使用道具 举报
撸码百遍,其义自现!多思考,多去请教
回复 使用道具 举报
这个忒多了.....论坛里有其他人的笔记,你可以看看
回复 使用道具 举报
靠自己啊!一遍看不懂很正常,多来几天就好了
回复 使用道具 举报
其实 我也不会  
回复 使用道具 举报
上大学的时候C语言的老师说,指针就像房间的钥匙,拿到了钥匙(指针),你就可以进入这个房间(参数所在的地址),对房间内的布局做出改动(对参数的值进行操作和处理),在你离开房间的时候(函数执行结束),房间的布局就是你刚才布置的样子(参数保留了操作之后的结果)。这就是函数的地址传递,例如
int *x=&a;
int *y=&b;
void swap(int *x,int *y)

    int t;t=&x;&x=&y;&y=t;

在函数结束后,参数x和y指代的a和b变量的值确实发生了交换。(拿到钥匙,进房间布置,出来)
但是如果是值传递的话,
int x=a;
int y=b;
void swap(int x,int y)

    int t;t=x;x=y;y=t;

函数执行结束之后,函数内形参x和y的值确实交换了,但是函数结束后,形参x和y的地址就被释放了,在函数外代表a和b的x和y并没有交换。
(先寻找一个和a,b所在的房间一模一样的房间,在那个房间里布置,出来之后,a和b这个房间的格局并没有改变。)
因此,在需要批量操作变量并且要保存结果的时候,比如要对数组批量操作的时候,传递钥匙比复制整个房间更合适。
回复 使用道具 举报 1 0
楼上说的很形象,觉得挺有趣
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马