新char [n + 1]的功能是什么?

时间:2014-08-26 15:42:13

标签: visual-c++

以下代码片段中new char[n+1]的功能是什么?我到处搜索过,但我仍然不明白。

代码片段

 n = strlen(t.name);
 a = new char[n+1];
 a = t.name;
 strcpy_s(name,a);

1 个答案:

答案 0 :(得分:1)

使用此代码解决所有问题,C中的字符串以NULL结尾。因此,当您要将字符串复制到数组中时,应为尾随0保留一个额外字符,因此+ 1

关于“new运营商做了什么”,许多人中有一人possible references

  

分配请求的字节数。这些分配函数由new-expressions调用,用于分配内存,然后初始化新对象。