我可以了解以下命令中发生的情况吗?
这里我们将H
作为结构,n
作为整数类型结构元素。什么是var
基本上在此之后?
float **var;
var = new float* [H.n];
答案 0 :(得分:0)
H.n
可能是一个整数,例如10
float **var = new float*[10];
为简化起见,您可以为float*
创建别名,并将其命名为pfloat
:
typedef float* pfloat;
pfloat *var = new pfloat[10];
所以这只是10个指针。可以分配每个指针以创建单独的数组,从而生成2D数组:
//initialize 10 x 20 array:
float **var = new float*[10];
for (int i = 0; i < 10; i++)
var[i] = new float[20];
//use:
for (int i = 0; i < 10; i++)
{
for (int j = 0; j < 20; j++)
{
var[i][j] = i * 20 + j + 0.1f;
cout << var[i][j] << "\n";
}
}
//cleanup:
for (int i = 0; i < 10; i++)
delete[]var[i];
delete[]var;