Can I get to know what is happening in the following commands?
Here we have H
as a structure with n
as an integer type structure element. What is var
basically after this?
float **var;
var = new float* [H.n];
Can I get to know what is happening in the following commands?
Here we have H
as a structure with n
as an integer type structure element. What is var
basically after this?
float **var;
var = new float* [H.n];
H.n
is presumably an integer, for example 10
float **var = new float*[10];
To simplify, you can create an alias for float*
, call it pfloat
:
typedef float* pfloat;
pfloat *var = new pfloat[10];
So that's just 10 pointers. Each pointer can be allocated to create a separate array, resulting in 2D array:
//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;