我写了下面的代码:
char *pch=new char[12];
char *f=new char[42];
char *lab=new char[20];
char *mne=new char[10];
char *add=new char[10];
如果最初我希望这些数组为空,我不能这样做吗:
*lab="\0";
*mne="\0";
and so on.....
之后,如果我想向一个空数组中添加一些 cstring,我不能检查:
if(strcmp(lab,"\0")==0)
//then add cstring by *lab="cstring";
如果我不能做任何这些事情,请告诉我正确的方法......
最佳答案
在 C++11 中,初始化数组的一种简单方法是使用大括号初始化器:
char * p = new char[100] { 0 };
这里的原因是所有缺失的数组元素都将被零初始化。您还可以使用显式值初始化(我认为这甚至在 C++98/03 中是允许的),它是原始类型的零初始化:
char * q = new char[110]();
关于c++ - 字符指针(由 new 分配),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7476515/