幻想森林

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 4348|回复: 15

[通用编程] 想请教指针应该怎么学

[复制链接]

313

主题

1574

帖子

1万

积分

⑧专业

*永恒国度*

积分
14145
QQ
发表于 2007-7-11 11:35:38 | 显示全部楼层 |阅读模式
书上的也看过几遍了,但还是没搞懂,简单的概念是明白了,像 int x,*p; p=&x;
这些简单的定义是明白了,但是到二级指针就搞不懂了,像使其指向二维数组这种题,
char arr[5][20]     好像有这样的指针定义(**p)[20], 也有(*p(5))[20](怎样写我都忘记了)
然后又看到有说 char **str  等价于 char *str[]
                              char  (*str)[20]  等价于 char [][20];
真是越搞越糊涂了,到底应该怎么去学去理解指针呢?有没什么更好的指针的运用教程之类了?[s:6][s:6]
[img][/img] http://shop33698673.taobao.com被别人嫉妒,证明你优秀,嫉妒别人说明你无能
回复

使用道具 举报

7

主题

190

帖子

1766

积分

⑥精研

....

积分
1766
发表于 2007-7-11 13:06:04 | 显示全部楼层
指针,指针的指针,指针数组,数组指针,引用这些原本就是最难拿常规逻辑理解的地方 [s:5]
好的教材,完全没有,只有慢慢磨..
很多人学程序都在这里倒了,然后放弃了 [s:7]
萝卜啊,白菜啊,土豆星啊,梦想有爱啊。
回复 支持 反对

使用道具 举报

7

主题

190

帖子

1766

积分

⑥精研

....

积分
1766
发表于 2007-7-11 13:14:52 | 显示全部楼层
没有诀窍,没有捷径,只有一个代码一个代码的打出来测试,慢慢的循序渐进,在你长期积累之后,总会有一天可以灵光一现,找到适合自己理解的说明的.
我有个朋友,以前跟我一起学程序,原计划是1年内把C/C++/JAVA/C#全部精通,结果,三年没见,前几天看他QQ签名,签名档上写着"用五年来了解C++",当然也没有弄的象他那样极端,但是也反映出,真正的C++并非想象中的那么容易,包括指针这里,希望能花大段时间在上面.

若是实在不理解,有个好办法,把例子背下来,以后慢慢消化,不要卯在这上,那只会更糊涂.

对了,八月的数据结构复习OK了? [s:1]
萝卜啊,白菜啊,土豆星啊,梦想有爱啊。
回复 支持 反对

使用道具 举报

313

主题

1574

帖子

1万

积分

⑧专业

*永恒国度*

积分
14145
QQ
 楼主| 发表于 2007-7-11 13:26:52 | 显示全部楼层
还没 [s:5]   另外我想问问, 学了C等于C++也差不多吗?还是C跟C++相差很远呢? 应该要精通C还是只精通C++就行呢?
[img][/img] http://shop33698673.taobao.com被别人嫉妒,证明你优秀,嫉妒别人说明你无能
回复 支持 反对

使用道具 举报

7

主题

190

帖子

1766

积分

⑥精研

....

积分
1766
发表于 2007-7-11 13:48:18 | 显示全部楼层
C和C++,完全是两种不同的语言.除了个别关键字相同以外,没什么相同的.
你一定要把这俩当成不同的语言来学,否则必然学不好C++ [s:2]

C++之父都说了,他非常后悔,后悔将这门语言命名为"C++",如果当时把它命名为X语言的话就不会出现现在的问题了:很多仅仅懂C语言的程序员都称自己懂C++,其实完全不是这样.

若是学一门语言,仅仅是学其关键字的话,那么我可能懂了不下8门语言了.但是光懂关键字有什么意义呢?那么C++和JAVA又有什么区别呢?和其他语言有什么区别呢?还不都是那50个关键字.if else while for do goto
萝卜啊,白菜啊,土豆星啊,梦想有爱啊。
回复 支持 反对

使用道具 举报

313

主题

1574

帖子

1万

积分

⑧专业

*永恒国度*

积分
14145
QQ
 楼主| 发表于 2007-7-11 14:03:58 | 显示全部楼层
那我应该把C学到什么程度再学C++呢? [s:3]
[img][/img] http://shop33698673.taobao.com被别人嫉妒,证明你优秀,嫉妒别人说明你无能
回复 支持 反对

使用道具 举报

136

主题

1751

帖子

548

积分

版主

Rank: 7Rank: 7Rank: 7

积分
548
发表于 2007-7-11 14:14:25 | 显示全部楼层
捷径也不是没有。有一个真捷径和一个伪捷径。
去学java,ruby,python这样的语言,干脆回避指针的问题。
缺点是不能做底层程序员,特别对于是立志作引擎的人来说。
这是伪捷径。
真捷径是,去啃汇编。从最根本上认识指针的本质。
え~え~お!!!
回复 支持 反对

使用道具 举报

136

主题

1751

帖子

548

积分

版主

Rank: 7Rank: 7Rank: 7

积分
548
发表于 2007-7-11 14:16:40 | 显示全部楼层
c和c++没有必然联系,只是很偶然的c++能兼容c而已。
从零开始学c++也一样。
え~え~お!!!
回复 支持 反对

使用道具 举报

313

主题

1574

帖子

1万

积分

⑧专业

*永恒国度*

积分
14145
QQ
 楼主| 发表于 2007-7-11 14:18:41 | 显示全部楼层
指针我是一定要学的, [s:4]  但那个汇编又是什么东东呢?要看哪本书籍学习汇编才是最好的呢? [s:3]
[img][/img] http://shop33698673.taobao.com被别人嫉妒,证明你优秀,嫉妒别人说明你无能
回复 支持 反对

使用道具 举报

7

主题

190

帖子

1766

积分

⑥精研

....

积分
1766
发表于 2007-7-11 14:29:56 | 显示全部楼层
汇编..先别贪.
要真的深入了解汇编的话,可比深入理解C++难多了.
我也算零散学了不少东西的皮毛,唯一望而却步的就是汇编了.我觉得,能够简单的看懂C++汇编代码,能够理解别人的汇编加速原理就OK了.这玩意难的恐怖. [s:5]

另外学汇编也不是某本书最好,因为每本书都有自己的特色,适合我的未必适合你.但如我上面所说,还是找本简单的薄的入门书籍看看吧...直接啃汇编大厚本会打击信心的.

但是如shawind所说,了解汇编之后,指针自然的会无师自通了,包括很多C++的指令也都非常容易理解了.
萝卜啊,白菜啊,土豆星啊,梦想有爱啊。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|幻想森林

GMT+8, 2024-5-2 20:38 , Processed in 0.021676 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表