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*);
}
posted @ 2022-03-18 18:42  W-forever  阅读(130)  评论(0)    收藏  举报