Usłyszałem od znajomego, że dwuwymiarowe tablice w C są obsługiwane tylko syntaktycznie.Czy dwuwymiarowe tablice w C są potrzebne, aby wszystkie elementy były przyległe?
Powiedział, że lepiej użyć float arr[M * N]
zamiast float[M][N]
, ponieważ kompilatory C, takie jak gcc, nie mogą zagwarantować, że na każdym systemie/platformie dane znajdują się w szeregu w pamięci.
Chcę użyć tego jako argumentu w mojej pracy magisterskiej, ale nie mam żadnego odniesienia.
Pierwsze pytanie:
Czy to prawda, co on mówi?
Drugie pytanie:
Wiesz, jeśli nie jest to książka lub artykuł, gdzie znaleźć to stwierdzenie?
dziękuję + Pozdrowienia
To nonsens. 'float [M * N]' nie musi dawać ci fizycznie ciągłego fragmentu pamięci, a 'float [M] [N]' jest logicznie tak jak sąsiadujące. –
C Programming Language by Kernighan and Ritche to najlepsza książka tam. Sprawdź to – 22kar
K & R jest dobre, ale z roku na rok staje się bardziej przestarzałe. Został ostatnio zmieniony w 1988 roku. –