1 区别:
malloc用于C语言中,需要包含#include <malloc.h>
malloc的原型为void *malloc(int size);返回值为void *型,需要强制类型转换为其他类型,例如int *p=(int *)malloc(sizeof(int));int *q=(int*)malloc(100*sizeof(int)
new用于C++中,无需包含头文件
new 返回指定类型的指针,并且可以自动计算所需要大小,例如int *p=new int; int *q=new int[100];分配大小为 sizeof(int)*100
free 直接释放内存,例如free(q),free(q),不管q,p是否指向多个内存单元
delete则在释放的时候有区别,delete p,delete [ ]q