Sample code:
float** a;
a = (float**) malloc(numNodes * sizeof(float*));
for(int i=0; i<`numNodes`; i++)
{
a[i] = (float*)malloc((numNodes-1) * sizeof(float));
}
I am creating a dynamic 2d array above. Before populating, I noticed that each block in the array already holds this value: -431602080.000000 and not NULL. Why is this?
There are situations where not all spaces within the array are used.
So, my query is simple, Is there an elegant way to check if the each block has this default value or a user defined value?
Thanks in advance.
In C automatic variables doesn’t get automatically initialized. You need to explicitly set your variable to 0, if it’s what you want.
The same is true for
mallocthat does’n initialize the space on the heap it allocates. You can usecallocif you want to initialize it: