在动态内存分配中,如果任何指针丢失(即,指针没有指向任何内存位置),程序将无法通过指针访问该特定内存位置。
此类存储器既不可访问,也不会分配给其他变量。因此,我们将这种类型的内存视为丢失的内存。
这种情况称为“内存泄漏/内存漏洞”,您应该担心此类内存并编写良好的编程代码来管理它们。因此,请记住,在运行时分配内存时,必须将其释放。
考虑这段代码
int main(){ int *p; //指针声明 int i=0; //为5个整数分配空间 p = new int[5]; cout<<"Enter elements :\n"; for(i=0;i<5;i++) cin>>p[i]; cout<<"Input elements are :\n"; for(i=0;i<5;i++) cout<<p[i]<<endl; return 0; }
在这段代码中,在运行时声明了5个整数的内存,我们没有在运行时使用delete释放占用的内存。
这可能会导致“内存泄漏或内存孔”