野指针不是NULL (nullptr),而是指向未知内存的指针,野指针很危险,容易造成内存的非法访问;
野指针的形成原因有两种:
1、创建的指针变量没有初始化,任何指针变量的创建是不会自动成为NULL指针的;它是随机值;所以指针创建时要初始化(或变成NULL)让指针指向合法内存;
2、指针p被free或delete后没有指向NULL,此时p仍认为是合法的;
例如
int *p;
*p = 20;//可能会出错
野指针不是NULL (nullptr),而是指向未知内存的指针,野指针很危险,容易造成内存的非法访问;
野指针的形成原因有两种:
1、创建的指针变量没有初始化,任何指针变量的创建是不会自动成为NULL指针的;它是随机值;所以指针创建时要初始化(或变成NULL)让指针指向合法内存;
2、指针p被free或delete后没有指向NULL,此时p仍认为是合法的;
例如
int *p;
*p = 20;//可能会出错