1. 空指针
空指针是不能使用的指针。她的值是0。
取地址操作符“&”不可能得到空指针,malloc()函数或new运算如果失败则返回空指针。
2. 未初始化的指针
未初始化的指针是指声明变量后没有初始化,她的指向可能是任意地方。
而她却是可以使用的指针,但是可能造成严重的后果。为了避免灾难的发生,我们在声明指针时应该初始化为0。
3. void 指针
void 指针可以指向任意类型的数据。
void * b;
void * memcpy(void * dest, const void * src, size_t len);
4. 指针与 const
由于指针的特殊性,指针本身是个变量,而指针所指向的单元也是一个变量,所以 const 到底是修饰指针变量本身还是在修饰指针所指向的变量?
int const * p = NULL;//修饰指针本身
const int * p = NULL;//修饰指针所指向的变量
空指针是不能使用的指针。她的值是0。
取地址操作符“&”不可能得到空指针,malloc()函数或new运算如果失败则返回空指针。
2. 未初始化的指针
未初始化的指针是指声明变量后没有初始化,她的指向可能是任意地方。
而她却是可以使用的指针,但是可能造成严重的后果。为了避免灾难的发生,我们在声明指针时应该初始化为0。
3. void 指针
void 指针可以指向任意类型的数据。
void * b;
void * memcpy(void * dest, const void * src, size_t len);
4. 指针与 const
由于指针的特殊性,指针本身是个变量,而指针所指向的单元也是一个变量,所以 const 到底是修饰指针变量本身还是在修饰指针所指向的变量?
int const * p = NULL;//修饰指针本身
const int * p = NULL;//修饰指针所指向的变量