时间:2023-08-17 17:11
人气:
作者:admin
指针被释放后,是不是就变成了空指针?这是很多刚接触指针的同学存在的误区。
我们还是写个代码看下:
char *p = (char *)malloc(sizeof(char) * 128);定义一个指针,然后在堆空间申请一块内存,这种赋值方式就表示指针指向堆空间,画出来就是这样的。
free(p);在图上的表现就是,这块内存自由了,如果后面有其他地方要使用内存,那操作系统完全可以把这块内存再分配出去。
char*p=(char*)malloc(sizeof(char) * 128); free(p); strcpy(p,"helloworld");如果你强行去访问的话,就会出现一些未知的问题。
p = NULL;把p变成空指针。