- 论坛徽章:
- 0
|
指针可谓是c中最灵活的一项内容,它应用广泛但是容易出错,有人说,如果没有掌握指针,
则没有掌握c,可见指针的重要性。其实,任何事物,如果仔细研究,就不怕掌握不了,
指针也不例外。关于指针,笔者认为应该按照使用的角度来认识和理解:
1。指针的定义:这个比较简单,和其它的数据类型并没有什么大的区别,无非多
敲一个*而已,需要注意的是定义的指针往往置为null,防止未经初始化就进行操作,如int *p=NULL;
2。初始化:这个比较重要,新手往往忘了初始化,造成程序出错。正确的初始化方法有:
a.取址法: 通过取其它量的地址来给指针赋值,如int *p = &
b.动态分配法:应用c++中的new来给指针动态分配一个地址,如int *p=new int,对于对象和变量,操作一样;
c.赋值法:通过其它的指针给指针赋值,这时候要注意用来赋值的指针的合法性如:int *p = ptr;
3。使用:使用的过程就是对指针进行操作,常用的操作有:
a.进行内存复制:这个时候一定要注意不能出现边界溢出,如memcpy(pDest,pSour,length);
b.引用对象的成员:如p->;m_value;
c.作为函数指针来指代函数,如(*pfunc)(int value1,int value2,int value3);
d.其它应用等等。
4。销毁,指针使用完成之后,一定要进行必要的销毁操作,否则未经处理的指针是很危险的,
销毁的操作一般如下:
delete p;
p=NULL;
这2步缺一不可,因为delete之后,指针的值并没有置空,所以为了防止后面使用它,一定要将其置空。
指针的操作大致如上,其它问题在下一个专题中加以讨论。 |
|