tworzę strukturę w której mogę przechowywać macierz o wymiarze jaki podam jako parametr.
kod, który tworzy macierz i alokuje pamięć:
plansza * make_board(int dimension)
{
int i;
plansza *tablica = (plansza*) malloc(sizeof(plansza));
if(tablica!=NULL)
{
tablica->size=dimension;
tablica->dane = (int**) malloc(sizeof(int*) * dimension);
for(i=0;i<dimension;i++)
tablica->dane[i]=(int*) malloc(sizeof(int)*dimension);
}
return tablica;
}
z kodu wynika, że powinna utworzyć się macierz kwadratowa.
jednak jeśli wejdę w debuger i zacznę czytać wartości kolejnych komórek macierzy napotykam na dziwną rzecz. http://images.tinypic.pl/i/00763/7rh79j13zbbh_t.jpg
"pionowe" komórki macierzy po przekroczeniu obszaru alokacji pamięci nie są dostępne, natomiast komórki macierzy "poziome" ciągną się w nieskończoność.