目录
空指针
野指针
内存问题
空指针
何为空指针?
空指针是指给指针赋值为NULL。
例如:
char *p =NULL;
- 内存单元最小的编号是0,也就是0号地址,空指针即是内存编号为0的地址
- 用宏NULL表示,在头文件stdio.h内定义宏NULL 0
- C语言指针常量只有NULL一个
注意:
- 此时的p可以对其进行赋值一个已开辟空间类型为char *的地址,但不能直接调用*p
char * p =NULL; printf("%c\n",*p);
结果为:
段错误 (核心已转储)
- 同时对p也不能进行字符串赋值
char * p =NULL; strcpy(p,"hello"); printf("%s\n",p);
结果为: