内存泄漏是指什么,以下情况属于内存泄漏吗

指针p指向一块内存空间,后来p又不指向这块内存空间了,导致这块内存没有指针所指向它,这种情况叫内存泄漏吗?

内存泄漏是指程序在使用中动态分配了内存,但是后来又没有释放,导致程序最终不能使用这些内存,但内存仍占用系统资源的情况。
如果指针p指向的内存不再被任何指针所指向,但内存没有被释放,那么这种情况确实可以称作内存泄漏。

对了一半,这个内存空间必须是动态分配的,程序结束前不会自动释放的才是泄漏

嗯,你说的没错,这个情况就是内存泄露

所谓内存泄漏,就是不断的申请空间而不释放,导致内存越占越大
没有指针指向一块内存,不代表泄漏,只有当它无法分配给新的变量时,才是泄漏
通常,int a[]这种方式申请的内存,当函数执行完毕,内存就自动释放了
而通过new或者malloc申请的内存,必须调用free,否则不释放,此时如果忘记调用free就有可能造成内存泄漏
注意是有可能而不是必定
因为如果你的进程结束了,内存自然全部被释放了,不会再被占据
只有你的程序一直不退出,老是循环申请内存,而又不free,才会造成泄漏