萌新问一个关于数组的非常基础的问题
c吧
全部回复
仅看楼主
level 1
如下,我现在有一个类A,其中有一个int**二维数组,一个struct*,每个struct中包含一个char*数组
struct Node{
char* chrlist
};
Class A{
int** numlist;
Node* nodelist;
成员函数略....
}
随后,我在构造函数中,给int二维数组(numlist)用new加循环memset分配了100*100的空间
同时,给Node数组nodelist分配了100的空间,且用循环memset给里面的chrlist每个分配了4字节空间
现在,程序跑到一半发现不够用了,需要增加横向尺寸(即每一个int*对应的空间大小改为200,每一个chrlist变为8字节)
除了申请新空间、拷贝、删除原空间,有更高效的方法吗?(如果有的话,可以适当修改Class和struct)
2022年04月26日 04点04分 1
level 12
1. memset可以不用循环直接分配的
2. 你这种情况建议用calloc(大概
2022年05月16日 03点05分 3
1