小例子 例: int a=123; //放到栈区 int *p; p=&a; //这是执行的,放到代码区 malloc 和 new 的区别 malloc 手工分配的内存是申请的堆区,归操作系统管理;若不释放可能会发生内存泄漏。 new 和他一样的使用方法。 二者区别: 内存分配失败时候,返回值不同。 new 内存分配失败时,会抛出 bad_alloc 异常,它不会返回NULL。 malloc 分配内存失败时,会返回 NULL.。 char *p=NULL; //分配4个字节的内存 这在临时区 也就是栈区 p=(char *)malloc(100); //这才把p放到堆区 if(p!=