Q: 我定义了一个数组
int i =6789 ;
int*myp;
myp= new int[i];
现在多了几个数据
需要
myp[6789] = xx;
myp[6790] = xxx;
有什么好方法,把这个myp数组扩充一下??
A:
如果你要用这种动态数组的话,那就要先新建一个数组,把数存下来,在扩充,再放回去,但是我这里给你另一个方法,是bcb提供的动态数组的方法。
定义的时候这样写:
DynamicArray<int>arrayOfInt;
这样就新建了一个int型的数组arrayOfInt,当然你也可以建其他型的数组。
如果要改变数组长度,可以这样
arrayOfInt.Length = 5;
数组新建时,默认length为0。
引用时,就这样
int iNum =arrayOfInt[3];
改变长度时,如果加长长度,那么原来的数据不会丢失;如果减短长度,那么会丢失最后边的数据。
具体你可以看看bcb的帮助。
A:
一维
//创建
char *s = new char[100];
//释放
delete s;
二维
char **s;
//创建
s = new char*[100];
for(int i=0;i<100;i++) {
s[i] = new char[100];//创建
strncpy(s[i], "yourvalue", 100);//赋值
}
//释放
for(int i=0;i<100;i++)
delete s[i];
delete s;