void*** masivs_2d(int garums, int augstums)
{
//pirmā dimensija
void** masivs = jauni(void*, garums);
//otrās dimensijas
int lok_i = 0;
for(lok_i = 0; lok_i < garums; lok_i++)
{
(masivs)[lok_i] = jauni(void*, augstums);
}
return (void***)masivs;
}
function masivs_2d_dzest(void*** masivs, garums)
{
int lok_i = 0;
for(lok_i = 0; lok_i < garums; lok_i += 1)
{
sys_free((masivs)[lok_i]);
}
sys_free(masivs);
return NULL;
}
void print_var(void*** input_array, BOOL index_x, BOOL index_y)
{
var* output_var = ((lok_array)[index_x])[index_y];
printf("array[%.0f][%.0f] = %.0f", (double)index_x, (double)index_y, (double)*output_var);
}
function main()
{
vars* vars = masivs_2d(8, 8);
//fill it up, but still it is pointer array
print_var(vars, 4, 4)
}