Jak C przydziela miejsce na tablicę 2D (3D…) podczas korzystania z malloc?

Mam problem ze zrozumieniem, w jaki sposób C przydziela miejsce na tablicę 2D (lub bardziej wymiarową), zwłaszcza gdy używamymalloc i tym podobne. Weź programto pytanie na przykład.

Najpierw definiowana jest jednowymiarowa tablica wskaźników, a następnie wskaźniki do tablic danych 1D (w tym przypadku łańcuchów) są umieszczane w każdym z pól pierwszej tablicy 1D. Nie ma więc gwarancji, że cała tablica 2D będzie ciągła (po ostatniej komórce poprzedniego wiersza następuje pierwsza komórka następnego wiersza). Każda tablica danych 1D może być bardzo odległa, tylko ich wskaźniki sąsiadują ze sobą. Czy mam rację, czy coś mi brakuje? Byłbym wdzięczny, gdybyś mógł mi to wyjaśnić.

questionAnswers(3)

yourAnswerToTheQuestion