内存管理问题
/*test.c*/
#include <stdio.h>
#include <stdlib.h>
#define SIZE 16
int main ()
{
char *p;
p = malloc (SIZE*sizeof(char));
free(p);
p[0] = 'a';
printf("%c\n",p[0]);
return 0;
}
gcc test.c生成a.out
[yxf@localhost mem]$ ./a.out
a
这是什么原因,我已经在程序中先free了阿?
#include <stdio.h>
#include <stdlib.h>
#define SIZE 16
int main ()
{
char *p;
p = malloc (SIZE*sizeof(char));
free(p);
p[0] = 'a';
printf("%c\n",p[0]);
return 0;
}
gcc test.c生成a.out
[yxf@localhost mem]$ ./a.out
a
这是什么原因,我已经在程序中先free了阿?
...全文
相关推荐
深入探讨PHP中的内存管理问题
在深入探讨PHP中的内存管理问题时,我们首先要明白PHP是一种解释型语言,它的内存管理机制与编译型语言如C有所不同。
Java内存管理问题案例分享_技术大学.pdf
Java内存管理问题排查工具主要包括JVM提供的参数和第三方工具。
java内存管理问题及解决办法
理解并掌握Java内存管理机制,能帮助我们编写出更高效、更稳定的代码,避免因内存问题导致的程序崩溃或性能下降。
C++内存管理(内存的问题可以解决)
C++的内存管理涉及内存的分配、使用和释放,而这往往导致许多问题,如内存泄漏,如果处理不当,会降低程序质量并可能导致程序崩溃。
Java内存管理问题案例分享_技术大学
然而,如果不深入理解Java内存模型,可能会导致一系列问题,如内存泄漏、性能下降等。以下是对Java内存管理问题的详细解析。首先,我们要了解Java内存分为哪几个区域。


