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

帮忙看看,这个指针数组怎么从for中带出来

2013-12-19 
帮忙看看,这个指针数组如何从for中带出来char*字符串数组NULLfor(m0m记录数m++){字符串数组new cha

帮忙看看,这个指针数组如何从for中带出来
char*字符串数组=NULL;
for(m=0;m<记录数;m++)
{
    字符串数组=
      new char[记录数*(每行的长度[m]+控件个数+1+strlen(参数)+1)*sizeof(char))];

    //初始化
    memset(字符串数组,0,(记录数)*每行的长度[m]+strlen(参数)+1)*sizeof(char));
。。。。。
操作
。。。。。

  
}
    return  字符串数组;
    delete[]字符串数组


可是"字符串数组"带出来,只有最后一个操作的值,怎么设置,才能将for中的指针数组带出来?
[解决办法]
1、如果是全局共用这个字符串数组的话,那么在for循环前声明它就好了;
2、如果每个m都需要字符串数组的话,那么可以用list<list<string>>来管理它。

引用:
char*字符串数组=NULL;
for(m=0;m<记录数;m++)
{
    字符串数组=
      new char[记录数*(每行的长度[m]+控件个数+1+strlen(参数)+1)*sizeof(char))];

    //初始化
    memset(字符串数组,0,(记录数)*每行的长度[m]+strlen(参数)+1)*sizeof(char));
。。。。。
操作
。。。。。

  
}
    return  字符串数组;
    delete[]字符串数组


可是"字符串数组"带出来,只有最后一个操作的值,怎么设置,才能将for中的指针数组带出来?

[解决办法]
在循环里面new,在循环外delete,个人意见这是作死。
[解决办法]
C++传递一个类的对象或者引用。

C 用一个结构表示二维数组
   其中一个二级指针表示数据,两个整型表示每个维度的大小
   或者一个一级指针表示数据,两个整型表示每个维度的大小
函数之间,可以传递结构的指针。

返回值 可以返回整个结构。

[解决办法]
楼主好像要的是动态增长内存的数组, 如果是的话 用realloc试试吧。用vector也可以 别用new 不然每次new 都返回一个指针给目标。 其实N次后都是指向新的字符串的。

热点排行