#include "stdlib.h"
#include "string.h"
#include "stdio.h"
void main() {
int* ptr;
char buf[128];
int a = 100; // 分配4个字节的内存,栈区(或称临时区)
ptr = &a;
*ptr = 20;
{
char* ptr2 = NULL;
ptr2 = (char*)malloc(512); // 在堆区分配512大小内存,注意要释放,避免内存泄露
if (ptr2 != NULL) {
free(ptr2); // 释放内存,注意:释放ptr2时,把ptr2赋值为NULL,避免野指针问题。
ptr2 = NULL; // free ptr2,一定要赋值为NULL,否则,导致野指针问题。
}
/*if (ptr2 != NULL) {
free(ptr2); // 释放内存,注意:释放ptr2时,把ptr2赋值为NULL,避免野指针问题。
}*/
}
system("pause");
}
C/C++野指针问题demo
最新推荐文章于 2024-09-07 23:15:53 发布