-5

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];
Kerrek SB
  • 464,522
  • 92
  • 875
  • 1,084
A. Rehman
  • 1
  • 2

1 Answers1

0

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;
Barmak Shemirani
  • 30,904
  • 6
  • 40
  • 77