C++为字符数组动态分配内存问题
书上原文:“如果我们希望分配一个char类型的数组,假设pstr是指向char类型的指针,则可以编写下面的语句:
pstr = new char[20];
该语句为20个字符的char数组分配空间,并将其地址存储入pstr中”
验证如下:
char* pprim(nullptr);
pprim = new char[10];
执行new操作后,就出问题了。
但是如果用int型,就不会出现问题。
这是什么原因?char不能这样用? C++ 字符数组 new操作
[解决办法]
*pprim = 'w';
*(pprim+1)= 's';
*(pprim+2)= '\0';
pprim的值为“ws”
//写成这样是不是更好看一些?
pprim[0]='w';
pprim[1]='s';
pprim[2]=0;
pprim的值为“ws”
[解决办法]
*pprim = 'w';
*(pprim+1)= 's';
*(pprim+2) = '\0';