19.野指针和空指针和指针大小
野指针和空指针
野指针:
1.只有定义后的变量,此变量的地址才是合法地址
2.这个变量保存了一个没有意义的地址
3.操作也指针变量本身不会有任何问题
4.操作野指针所指向的内存才导致段错误
#include<stdio.h>
int main()
{
/*
int *p;
p = 0x1234;
printf("p = %d\n", p);
*p = 100;//报错,操作了系统没有授权的内存
*/
}
空指针:
1.给指针变量赋值为空
2.NULL就是数字零
3.int *p = NULL 等价于 int *p;
p = NULL;
4.预防野指针(修改错误的内存)
if(p != NULL)
{
*p = 100;
}
指针大小
#include<stdio.h>
int main()
{
//1.32位编译器用32位大小保存地址
//2.64位编译器用64位大小保存地址
int a = sizeof(int*);
int b = sizeof(char*);
}

浙公网安备 33010602011771号