为什么需要在C语言中做内存管理
刚刚接触编程时,我经常别人谈到内存管理。但是在我用C编写了很多简单的代码段以后,我发现自己还是没有用到内存管理,以至于我怀疑起内存管理的重要性。为了解决大家的疑惑,接下来我们举一些例子,用于说明内存管理的重要性。
假设有一个strdup()函数,用于给一个字符串分配地址,并return该地址。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// strdup()函数
char *strdup(char *src){
char *dest;
dest = (char *)malloc(sizeof(src) + 2);
if (dest == NULL)
abort();
strcpy(dest, src);
return dest;
}
// 主函数入口
int main(){
char *s = strdup("hello