对char *f=new char[4]赋初值

用new 开辟的可以直接指向字符串常量,但是之后就不能进行修改了比如
char * f=new char[4];
f="ab";
f[0]='0'//错误
但是可以输出f[0];

应该f[0]='a';
f[1]='b';
f[2]='\0';//要指定'\0',不然会出现乱码,因为指向的内存剩下的未知
或者使用strcpy_s进行赋值,strcpy只
string g="acv";
strcpy_s(f,4,g.c_str());
或则
char * p="ad";
strcpy(f,p);

猜你喜欢

转载自www.cnblogs.com/lianggaoblogyuan/p/9828465.html