遇到个二位数组的事情,记录下:
创建
//创建 保存n股n个交易日收益率的二维数组
float **stock_arr = new float*[STOCK_COUNT];
int i = 0;
for(; i < STOCK_COUNT;i++)
{
stock_arr[i] = new float[DAY_LENGTH];
}
for (i = 0 ; i < STOCK_COUNT; i ++)
{
for (int nnn = 0 ; nnn < DAY_LENGTH; nnn++ )
{
stock_arr[i][nnn] = 0.0;
}
}
调用
void Get_Index_arr(char *Code, short setcode, int len,float* stock_arr)
{
XXXXXXXXXXXXX//一行第一个,依次赋值,循环计数器是天数
for ( i = 0; i < len; i ++)
{
stock_arr[i] = index_pec;
}
}
//这里的for循环,和Get_Index_arr内部的for循环 构建一个二维数组,每一行是一个股票n天的数据
for (int i = 0 ; i < STOCK_COUNT; i++)
{
XXXXXXXXXXXXX//在这每一行是一个股票,把每一行的首地址指针传入进去,二位数组在函数内部当做是一维数组来操作
Get_Index_arr(StockCode[i], setcode, DAY_LENGTH, stock_arr[i]);
}
释放内存:
i = 0;
for(; i < STOCK_COUNT;i++)
{
delete [] stock_arr[i];
}
delete [] stock_arr;