静态内存在离开函数的时候会自动释放。

动态内存是程序员手动申请的内存,如果不释放,每调用一次函数内存就会增加,所以在使用完动态内存函数以后,一定要把它释放掉。不然内存会越用越少。
#include<stdio.h> #include<stdlib.h> int main (void) { int * p;//静态指针,p是(int *)类型指针 p = (int *)malloc(sizeof(int));//申请一个int大小的内存,把地址赋给指针p; *p = 5;//(*p)是int类型变量。把5赋给*p. printf("%dn",*p); free(p);//把p申请的内存释放掉(回到内存池) printf("%dn",*p);//*p的值就是一个未知的垃圾值。 return 0; }
小白自学仅供参考,理解的可能不透彻,总之malloc()函数要与free()函数配套使用。


还没有评论,来说两句吧...