/*版主一直强调这个,指针一定是个变量么?我相信版主肯定玩过底层的东东,可为什么还是这样认为我就不知道了。
我想问问版主,指针不能是常量? 如果加了const 修饰的话,例如:const int *p; p=&a; 那这个p 是个变量还是说它加了
个const 它就不能叫做指针了?
指针没有常量?太搞笑了吧~~~
*/
你的理解无可厚非
我所说的常量是个数值,并不是一块不可修改的内存
用const 操作符修饰变量,只是说这个变量不可修改, 并不是说这个变量是个 (const)常量
这是由编译器拒绝修改const 操作符修饰的变量。
/*
敢问计算机能够储存东东的是什么?
*/
晕, 答非所问了,不过这问题问的真够雷人的,
我当然知道计算机存储的是什么,计算机能够存储的是二进制数据,关键是看编译器怎么去解析数据。
比如说一个字节FF,用unsigned char 定义的变量去存储它,它就是255, 用 signed char 定义的变量去存储它,它就是
-1。
/*
指针存储的是一个地址, 并不是说 变量的指针就是变量的地址”这句话怎么理解?我看着才晕呢~~~
*/
指针是个变量,其存储的数值是一个地址, 有什么不可理解的吗?
/*
严格地说,一个指针是一个地址,是一个常量。而一个指针变量却可以被赋予不同的指针值,是变量。但常把指针变量简称为指针。为了避免混淆,我们中约定:“指针”是指地址,是常量,“指针变量”是指取值为地址的变量。定义指针的目的是为了通过指针去访问内存单元。
//牛头不对马嘴,指针就是一个变量,相当于用int类型所定义的变量,
同上。我感觉解释的挺好,被版主BS了。版主的字典里,常量已经消失了。
*/
你按照他的思路去理解指针,当然会觉得他解释的挺好,
我对常量,可修改的变量,不可修改的变量分的很清楚。
/*
通过指针访问它所指向的一个变量是以间接访问的形式进行的,所以比直接访问一个变量要费时间,而且不直观,因为通过指针要访问哪一个变量,取决于指针的值(即指向),例如"*p2=*p1;"实际上就是"j=i;",前者不仅速度慢而且目的不明。但由于指针是变量,我们可以通过改变它们的指向,以间接访问不同的变量,这给程序员带来灵活性,也使程序代码编写得更为简洁和有效。
// 不知所云
// j = i; 怎么就目的不明了?
版主哪怕肯花上几秒钟再看一遍,他到底说哪个目的不明了了?哪个是前者?
我现在是真的不知所云。
*/
我看的很清楚,他先说 "指针访问它所指向的一个变量是以间接访问的形式进行的,所以比直接访问一个变量要费时间,而且不直观"
而后又说"由于指针是变量,我们可以通过改变它们的指向,以间接访问不同的变量,这给程序员带来灵活性,也使程序代码编写得更为简洁和有效"
到底是间接仿问快,还是直接仿问快 ??
"例如"*p2=*p1;"实际上就是"j=i;",前者不仅速度慢而且目的不明"
我对他非常了解,我知道他想说什么 ,/他无非是想说 指针仿问内存快,目的明确
我只是顺水推舟罢了,/
/*
搞得我一直和版主过意不去的样子,我只希望版主能够少点偏见。谭浩强他没有你想的那么差。只是因为你带个有色眼镜了。
他老人家参与编写的书百多本,任何一个人,只要不太笨,那些东东都熟的不能再熟了,经验有多重要,版主出来混了,还不明白?或者版主直接当他傻子一个?就算他是傻子,出的书错误超多,但早在一开始就会被无数读者指正了。出了那么多书,人再差出的书都被读者改漂亮了。不是么?
再说他获的奖说不上无数至少也可以拿出来炫耀下了吧?人家再差,也不至于你想的那样吧?版主就不相信“盛名之下,其实难副”?
*/
/*
他老人家参与编写的书百多本,任何一个人,只要不太笨,那些东东都熟的不能再熟了
*/
我不相信看他的书能把那些东东搞的 熟的不能再熟了, 他的书本有很多基本的概念性错误。
/*
当然,他的书也有一些错误,这是很难避免的,版主有时间出本技术书就知道了,为什么新手问入门好书的时候,无数人都推荐他的书,可想而知。莫非大家都傻了不成?
*/
有的人十年出一本书。 有的人一个月出了一本书,10年不更新,
[
本帖最后由 BlueGuy 于 2010-6-5 10:39 编辑 ]