Az a baj, hogy nincs specifikálva, mit ért a kitűző az alatt, hogy "A dinamikusan foglalt."
Fentebb többféle megoldás van erre, egybe foglalni egy malloc-cal egy 10x10-es tömböt, 10 egydimenziós tömböt foglalni és azt összefogni, ... Melyikre gondolhatott a kitűző?
Nem ezen a kezdő C-tanuló szinten válik fontossá, de nem bírom megállni, hogy meg ne jegyezzem: komoly programozóktól is láttam utóbbi megoldást, tehát 2D tömböt soronkénti malloc-cal foglalni és egy mutatótömböt csinálni neki fejléccel, *és ez egy nagyon rossz megoldás!*
Logikailag rendben van a soronkénti malloc, de úgy szétfragmentálja a memóriát meg sok egyéb bajt okoz, hogy a program bizonyos tömbméretek esetén akár 2-3-szorosan is belassulhat (ha sok tömbelem olvasás/írás mellett nem túl sok a számolási művelet). Ezt gyakorlati példákban is láttam. Persze, a kérdésben szereplő 10x10-es egyszerű feladatban ez nem számít, de jó, ha a tanulás elején már jó reflexek rögzülnek.
Alig bonyolultabb ennél az, amikor az ember a 10x10=100 float-nak egyetlen malloc-cal foglal helyet és e terület megfelelő helyeire irányítja a fejléc pontereket. (No persze, ha fordítási időben tudjuk a méretet, akkor akár eleve 10x10-es tömböt is foglalhatunk egy malloc-cal.)
Szerintem igencsak kerülendő a ciklus belsejéből hívott malloc.