ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、视频、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
~~~ //当你操作这块内存的时候,一定要合法的 void test() { char *p = (char *)malloc(64); ++p; if (p != NULL) { free(p); p = NULL; } } int main() { test(); getchar(); return 0; } ~~~ free函数功能是告诉系统p指向的内存可以回收了 就是说,p指向的内存使用权还给系统 但是,p的值还是原来的值(野指针),p还是指向原来的内存 ~~~ int *p = NULL; //p指向的地址0x00是非法的,应该是 int a = 200; p = &a; *p = 200; printf("%d\n", *p); ~~~ 空指针问题要注意