new和malloc的关系

  • 语法不同:new是C++中的操作符,而malloc是C中的函数。
  • 返回值不同:new返回的是一个指向已分配内存的指针,而malloc返回的是void*类型的指针,需要进行类型转换。
  • 分配内存的方式不同:new会调用构造函数初始化内存,而malloc只是简单地分配内存,不会调用构造函数。
  • 释放内存的方式不同:使用new分配的内存必须使用delete来释放,而使用malloc分配的内存必须使用free来释放。
  • 虽然new和malloc有区别,但是它们都可以用来分配动态内存。在C++中,推荐使用new和delete来分配和释放内存,因为它们可以自动调用构造函数和析构函数,更加方便和安全。
#include
tree *tr=(tree*)malloc(sizeof(tree));
tree *tr=new tree;

你可能感兴趣的:(编程语言---C语言,c++,数据结构,开发语言)