确定上

确定下class A{char *s[3]//数组指针public:A(){char a[]abcfor(int i0i3i++)s[i]a//这样写应

确定下
class A
{
  char *s[3]; //数组指针
public:
  A()
  {
  char a[]="abc";
  for(int i=0;i<3;i++)
  s[i]=a; //这样写应该是错的吧,是不是构造函数结束后a就没有了所有的s[i]都指向了错误的地址  
  }

  是不是应该写成
  A()
  {
  char a[]="abc";
  for(int i=0;i<3;i++)
  {
  s[i] = new char [4]; //应该要分配内存吧
  memcpy(s[i],a,3);
  }
  }
};

[解决办法]
是的 记得delete释放内存
[解决办法]
对的,应该分配内存,不过拷贝的时候用strcpy比较好。
[解决办法]
copy的时候长度不是3,是3+1
[解决办法]

探讨
copy的时候长度不是3,是3+1

[解决办法]
代码:
C/C++ code
for(int i=0;i<3;i++)  {  s[i] = new char [4]; //应该要分配内存吧  memcpy(s[i],a,3);// ...