呵,如果你认定编程是你生活中不可少的一部分,那么你应该把C Primer Plus这本书看2至3遍。我也看过这本书,现在正准备看C++ Primer Plus。至于指针为什么在C里出现,到C++里也保留了它,个人觉得原因有以下几个方面:
1、对内存的直接修改。
如果你知道一个内存地址,便可以根据上下文对这个地址中的内存直接修改。
2、跨函数使用变量、内存。
这个很重要,也是指针在C\C++中体现突出的地方。如果只按值传递那么有很多的功能得不到实现(现在在很多面向对象语言中出现的句柄和引用也能实现这个功能但它们其实都是指针但指针运算被唾弃了),如果你正在学习数据结构那么很可能要用到这个特性。
3、减少在传递参数时的空间开销。
如你写了一个struct,它有很多字段,那么如果按值传递便会传送一个副本过去(效率低而且浪费空间),但如果传递指针的话只有4字节,这个优点也很明显。
以上属于个人见解。