学习指针难得的文章 为初学者服务。这是我的帖子的宗旨。我也是个初学者(强调了无数遍了) ,我以我的理解把初学者觉得难懂的东西用浅显的语言写出来。由于小学时语文 没学好,所以竭尽全力也未必能达到这个目的。尽力而为吧。 指针是c和c++中的难点和重点。我只精通dos下的basic。c语言的其它各种特 性,在basic中都有类似的东西。只有指针,是baisc所不具备的。指针是c的灵魂 。 我不想重复大多数书上说得很清楚的东西,我只是把我看过的书中说得不清 楚或没有说,而我又觉得我理解得有点道理的东西写出来。我的目的是: 1。通过写这些东西,把我脑袋中关于c的模糊的知识清晰化。 2。给初学者们一点提示。 3。赚几个经验值。(因为贴这些东西没有灌水之嫌啊) 第一章。指针的概念 指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。 要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的 类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区。让 我们分别说明。 先声明几个指针放着做例子: 例一: (1)int *ptr; (2)char *ptr; (3)int **ptr; (4)int (*ptr)[3]; (5)int *(*ptr)[4]; 如果看不懂后几个例子的话,请参阅我前段时间贴出的文?lt; ++的复杂类型声明>>。 1。 指针的类型。 从语法的角度看,你只要把指针声明语句里的指针名字去掉,剩下的部分就是这个指针 的类型。这是指针本身所具有的类型。让我们看看例一中各个指针的 类型: (1)int *ptr; //指针的类型是int * (2)char *ptr; //指针的类型是char * (3)int **ptr; //指针的类型是 int ** (4)int (*ptr)[3]; //指针的类型是 int(*)[3] (5)in……