| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1661 人关注过本帖
标题:【原创】指针的本质和指针学习存在的误区 欢迎大家批评指正
只看楼主 加入收藏
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
结帖率:100%
收藏
已结贴  问题点数:100 回复次数:13 
【原创】指针的本质和指针学习存在的误区 欢迎大家批评指正
出处
http://all-things-zklhp.tk/?p=231

 ;; **************************************************************************************************************
 ;; Author: zklhp
 ;; Email: zklhp@
 ;; QQ: 493165744
 ;; Last Update: 2014-08-12
 ;; Licensed under CC BY-SA 3.0
 ;; **************************************************************************************************************

* 楔子
因为我经常在bbs.bccn.net回答问题 所以对新人学习C语言过程中的困惑和学习的误区有一定的认识 从我的经验看 对于C语言指针 大部分学习者都没有一个清晰的认识

* 指针的本质

根据我的理解 C语言的指针是一种寻址手段 是计算机间接寻址方式的一种高级语言实现 对于C语言来说 指针之所以重要 有如下的原因

+ *C语言底层的特点决定*
因为C语言比较底层 所以实现间接寻址是必须的 这可能是指针提出的初衷
+ *C语言讲究效率的特点决定*
C语言比较讲究高效 某些时候 使用指针确实能够提高效率 比如 在结构体作为函数参数的时候 传递一个指向这个结构体的指针要比直接传递这个结构体快的多
+ *指针可能是唯一的选择*
某些时候 指针可能是唯一的选择 一个经典的例子就是通过函数交换两个变量的值 由于C语言中函数调用的时候是传值的 所以指针可能是唯一的选择 还有就是内存管理 如果离开了指针是很难实现的 (插入一点 我以前也写过 指针本身并不难 难的是 指针往往和其他东西 比如内存管理 同时出现 导致很多人觉得指针很难 对指针的本质理解不深)

* 指针学习的误区

指针学习中存在的误区主要是对指针的神化 觉得指针是万能的 掌握了指针就掌握了C语言 用了指针就高效 这是错误的 很简单的例子是 一个冒泡排序 你把它变成用指针实现 效率还是很差 这是算法决定的 和指针这种寻址方式没有特别大的关系

* 对指针科学的认识

+ 不要神化指针 指针只是一种寻址方式
+ 指针学习要抓住本质和与其他寻址方式的区别
+ 该用指针的时候就用 不该用的时候 不用

最后一点需要解释一下 比如 a[i]和*p这两种形式 大部分时候对于编译出的二进制程序是没有影响的 就像上面说的 不是说你用了指针就高效 这种时候简单明了更重要 因为效率本来也没有区别

收到的鲜花
  • tlliqi2014-08-13 14:36 送鲜花  20朵   附言:没人回复 好伤心
搜索更多相关主题的帖子: 回答问题 Email C语言 
2014-08-12 12:13
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:15 
把手段当目标是指针问题最大的误区

授人以渔,不授人以鱼。
2014-08-12 12:50
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:15 

DO IT YOURSELF !
2014-08-12 13:26
宇宙规律
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:232
专家分:128
注 册:2014-5-7
收藏
得分:15 



吃饭时,我们用筷子夹菜很美味,指针的作用如同筷子;
吃西瓜时,用筷子很难享受甘甜,用手拿好吃好吃好吃!
2014-08-12 14:28
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
没人回复 好伤心
2014-08-13 14:21
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:15 
接分,结贴吧。

总有那身价贱的人给作业贴回复完整的代码
2014-08-13 14:33
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:15 
没人回复 好伤心
2014-08-13 14:36
书生等待
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:8
帖 子:280
专家分:689
注 册:2013-2-22
收藏
得分:15 
围观
2014-08-13 15:51
ditg
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:16
帖 子:852
专家分:1937
注 册:2014-4-10
收藏
得分:15 
回复 5 楼 zklhp
说码子哟,全天上不鸟论坛呀,嘿嘿

梦想拥有一台龙芯3A-4000
2014-08-13 16:11
woshiaokeman
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:60
专家分:123
注 册:2011-4-5
收藏
得分:0 
have a look..
2014-08-24 20:51
快速回复:【原创】指针的本质和指针学习存在的误区 欢迎大家批评指正
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.032626 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved