通晓并熟练指针,谈何容易,这都是C专家级别的人敢说,我绝不敢说自己精通指针,但是对于常用指针的合法使用,指针对内存管理,以及指针在编译过程的处理情况等有所了解,能够知其原因,也都看过5、6本书了,但由于指针太灵活,出现的问题也是各种各样,以我的能力不可能所有问题都可解释,所以避免对自己不熟悉的用法少用、禁用
你的问题:
谭浩强的书在《C语言程序设计》里面已近算是最简单的了,看不懂要多看几次,多敲代码,对各种情况多上机,多思考为什么会这样(课本上的例子、习题),哪怕照着抄代码也行,这是一个熟悉过程,看一遍想学好,除非你是天才。一看你的提问也就是缺乏这个过程了,只要这个部分做好了,最起码也可以写个简单的系统,大概也就一两千行代码
简单了解C:
C语言是高级语言,但由于引进了指针也就有低级语言的特点,因为指针可以对硬件底层直接操作,而所谓的程序设计之类的书,仅仅是介绍了其中的高级部分(最容易理解的),也就是最容易让初学者接受的部分,低级部分(主要指指针部分)基本上只是略略一谈,让你用这些,你都不会用,很多人不理解都是靠背,理解的话其实根本不用背,但谭本为什么不给你讲明白指针,原因很简单:第一太复杂,书本容量有限,第二就算给你讲这部分知识也是浪费时间,因为你的计算机知识沉淀太少,这主要靠自己
怎么学:
要想学好指针必须要有硬件底层的知识,那么就得学汇编(低级语言),因为汇编就是直接面向底层的语言,从底层知识了解指针,但也不是非学不可,关键你想要达到什么能力
也可以学C数据结构,全部都是典例,里面主要是对一级指针、二级指针的使用,主要牵扯到内存管理这块,不用学汇编也能掌握,但也因人而异
以你现在这个情况来看,不要把时间总是浪费到上网上搜资料,先把书上最基本的掌握,不会的求助老师、百度,慢慢积累等到有了初级功底在找一些资料
给你一个连接,自己可以看下,但有一个问题,此文作者并没有从底层角度讲解,而是从操作角度讲解,也是考虑到初学者难以理解,所以没有牵扯到太多底层,所以说有些你也没办法理解。不过也是一个不错的参考资料吧
你可以多看看数值计算的书。不过指针差不多是C语言最难理解的东西了。过了这一关,C语言的理解更进一步。
动态内存的分配、编译原理等可能都会让你更好的理解C语言。
做应用,其实不必着急。
要是想练手,写个阶乘的程序吧,看看能算到多少的阶乘。
Windows计算器算到40000的阶乘没问题,你也写个程序算一算,要打印“精确结果”。
40000的阶乘的结果要表示成2进制串,然后转化为10进制,应该几秒能算完就算达标了。
这个够新手写好久了……
类似的,1000000000以内的质数有多少个。(要是想快,就不要用除法)
我当年做类似的题目,做到要考率计算机的缓存之类,以取得最大速度。
反正程序的速度,从爬行到走路,到跑步,最后改飞行都能做出来。最后是一个“艺术品”。
不留邮箱或什么?怎么送?