C-指针2

指针是十分强大的操作,它可以读写内存,强大的操作经常会有一些限制方法,减少出错的几率及代价。

const定义指针,只能读不能写。定义方法:const int* p = &a;

杜绝野指针,让指针要么有处可指,要么为0,就是不能不定义,暂时不用的指针这样定义成空指针:int* p = 0;空指针也会报错,但是它是可以判断的,野指针是完全没有办法判断的,错了都不知道呢。JS里经常var m , n.这样初始化变量,不需要类型以及初始化,完全不适应C。

严防数组越界,指针加减不要超过数组的长度,超过了跟野指针也差不多了,谁知道你指哪去了。

最后一个需要注意的是指针所指向的变量生命周期,局部函数的变量周期很短暂,当需要由指针指向这个变量时,需要关注该变量的生命周期,变量已经结束没有了,指针却还指着,也是错误的。

总之,越是强大的方法越需要注意安全,谨慎使用。