c++中new char(10) 和 new char[10]的区别

  今天随手写个程序,在网上随意找个代码照着写,无意中使用了

char *p = new char(10);

  来创建char数组,而且在netbeans上编译运行都没有问题,结果在oj上一直报runtime error,放在同学计算机上用codeblock运行也报错。

  后来发现是这个分配的问题:

char *p = new char[65]; // 分配一个大小为65的char数组

char *p = new char(65); //分配一个char ,并用65来初始化值

  后来程序中改成new char[10]就没有问题了。至于为什么netbeans能运行错误的代码,我也不知道。。。。

原文地址:https://www.cnblogs.com/qwertwwwe/p/3745982.html