原作者:Andrew Peace
原文链接:http://www.codeproject.com/cpp/pointers.asp
点击下载配套源代码
何为指针?
指针基本上和其它的变量一样,唯一的一点不同就是指针并不包含实际的数据,而是包含了一个指向内存位置的地址,你可以在这个地址找到某些信息。这是一个很重要的概念,并且许多程序或者思想都是将指针作为它们的设计基础,例如链表。
开始
如何定义一个指针?呃,就像定义其它的变量一样,不过你还需要在变量名之前添加一个星号。例如,下面的代码创建了两个指向整数的指针:
int* pNumberOne;
int* pNumberTwo;
注意到变量名的前缀“p”了吗?这是编写代码的一个习惯,用来表示这个变量是一个指针。
现在,让我们把这些指针指向一些实际的值吧:
pNumberOne = &some_number;
pNumberTwo = &some_other_number;
“&”标志应该读作“the address of(……的地址)”,它的作用是返回一个变量的内存地址,而不是这个变量本身。那么在这个例子中,pNumberOne就是some_number的地址,亦称作pNumberOne指向some_number。
现在,如果我们想使用some_number的地址的话,那么我们就可以使用pNumberOne了。如果我们希望经由pNumberOne而使用some_number的值的话,我们可以用*pNumberOne。“*”应该读作“the memory location pointed to by(由……指向的内存位置)”,它用来取得指针所指向的值。不过指针声明的情况例外,如“int *pNumber”。
到现在都学到什么了(一个例子):
咻!要理解的东西太多了,所以在此我建议,如果你还是不理解以上的概念的话,那么最好再通读一遍;指针是一个复杂的主题,要掌握它是要花些时间的。
这里有一个示例,解说了上面讨论的那些概念。它是由C编写成,并不带有C++的那些扩展。
#include |
正在阅读:VC基础学习:初学者指针指南VC基础学习:初学者指针指南
2004-05-09 10:22
出处:PConline
责任编辑:linjixiong
键盘也能翻页,试试“← →”键