free()函数,不使用任何内存分配函数

时间:2017-11-26 13:59:43

标签: c database free

我正在为学生数据库编写代码,并希望删除包含卷号,名称和标记的字符串。但我还没有在代码中使用过任何结构或内存分配函数。可以使用自由函数以我使用的方式删除字符串,有没有办法删除该字符串而不使用malloc和calloc?

var label1 = new Label() { 
    Text = "Some Text",
    BackColor = Color.Transparent,
    Location = new Point(10, 10)
};
pictureBox1.Controls.Add(label1);

1 个答案:

答案 0 :(得分:0)

引用free()手册页(键入man 3 free):

  

free()函数释放ptr指向的内存空间,该内存空间必须由之前调用malloc(),calloc()或realloc()返回。否则,或者如果之前已经调用了free(ptr),则会发生未定义的行为。

所以在静态分配上调用free是未定义的(即你不能假设任何东西,它可以做某事,什么都不做,崩溃,毁灭地球等)。