读书人

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

发布时间: 2013-12-19 00:33:34 作者: rapoo

帮忙看看,这个指针数组如何从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次后都是指向新的字符串的。

读书人网 >C++

热点推荐