你的问题我没听懂大一的, 那我就通俗一点吧 你使用malloc分配内存返回一个指针p, 你必须得在以后的一个地方使用free(p)来释放之前分配的内存,否则内存泄露了, 也就是说malloc与free必须得成对的出现,否则你的程序就有问题你上面的程序是肯定有问题的你明明知道malloc出来的内存是需要手动的free的, 但你没有做free操作 楼上两位答的说的是普通变量的内存分配普通变量的内存分配与malloc的分配是不一样的,普通局部变量是在栈里边分配的, 这种变量在函数使用完了之后会自动释放内存, 但malloc分配的内存是在堆里分配的,这种内存在C和C++中是需要手动释放的,JAVA与C#则可以不要
|