c++野指针问题
typedef unsigned short int USHORT;
#include <iostream>
int main()
{
USHORT *pInt = new USHORT;
*pInt = 10;
std::cout << "*pInt " << *pInt << std::endl;
delete pInt;
long *pLong = new long;
*pLong = 90000;
std::cout << "*plong: " << *pLong << std::endl;
*pInt = 20;
std::cout << "*pInt: " << *pInt << std::endl;
std::cout << "*pLong: " << *pLong << std::endl;
std::cout << "pInt: " << pInt << std::endl;
std::cout << "pLong: " << pLong << std::endl;
delete pLong;
return 0;
}
程序代码,如上所示。程序最后两句会打印相同的地址值,在整个程序中,指针变量是没有改变的,既然如此,那么程序的倒数3、4行的打印为什么不是同一个值??
...全文
相关推荐
c++野指针的原理以及避免方法
主要介绍了c++野指针的原理以及避免方法,帮助大家更好的学习和理解c++,感兴趣的朋友可以了解下
cpp代码-学习嵌入式指针、数组等等
cpp代码-学习嵌入式指针、数组等等
野指针问题
野指针问题
结构体和指针 存储学生信息.cpp
小甲鱼视频《C++快速入门》源码
[C语言野指针的问题 cpp]——如何避免野指针对程序的威胁?
野指针是C语言编程中常见的问题,虽然指针的功能强大,但是也需要我们加强对指针的使用和管理。在定义指针变量时要进行初始化,在使用指针之前要为其分配内存空间,并且需要保证指针变量赋值的合法性,同时避免重复释放内存,及时将指针赋值为NULL。但是,若没有合理地使用和管理指针,就可能会产生野指针的问题,这些指针不指向任何有效的内存地址,导致程序崩溃或者出现不可预期的行为。在C语言中,野指针指的是一个未初始化或者已经释放的指针变量,这个指针变量所指向的内存地址是不确定的,也有可能是随机值。free(ptr);


