黑马程序员技术交流社区

标题: 指针 求助 [打印本页]

作者: wandehua9108    时间: 2015-9-7 23:44
标题: 指针 求助
这几天学了一下指针   我现在真的  是蒙圈了   各种含义都给我弄蒙了  现在求助  大神  给讲解讲解  白话文谢谢!!!!
作者: weicongcing    时间: 2015-9-8 14:07
你要提出具体的不明白的问题点才行呀
作者: iphone    时间: 2015-9-8 18:38
百度去。。。。一遍看不懂看三遍    买本书    专门看一个礼拜  不信整不明白
作者: tr2e    时间: 2015-9-8 18:45
指针就是一个存储变量所在地址的变量
作者: 408205555    时间: 2015-9-8 18:46
骚年,这个谁也帮不了你啊,记住:指针就是地址。剩下的多做两个题,多研究研究就明白了。都是这么过来的!
作者: 来自星星    时间: 2015-9-8 21:18
我觉得买本相关的书籍配上视频,应该会有效果的
作者: 0826iOS_sunzhen    时间: 2015-9-8 21:25
撸码百遍,其义自现!多思考,多去请教
作者: 克莱斯勒    时间: 2015-9-8 21:26
这个忒多了.....论坛里有其他人的笔记,你可以看看
作者: yangguangyu    时间: 2015-9-8 21:28
靠自己啊!一遍看不懂很正常,多来几天就好了
作者: 15706025762    时间: 2015-9-8 21:40
其实 我也不会  
作者: lixj1991    时间: 2015-9-8 23:54
上大学的时候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这个房间的格局并没有改变。)
因此,在需要批量操作变量并且要保存结果的时候,比如要对数组批量操作的时候,传递钥匙比复制整个房间更合适。
作者: malong0517    时间: 2015-9-9 18:15
楼上说的很形象,觉得挺有趣




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2