首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

确定上

2012-09-18 
确定下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);// ... 

热点排行