Scrivo codice C e vorrei allocare 512 * 256 byte. Per mia comodità mi piacerebbe poter accedere agli elementi con l'array di sintassi [a] [b]; nessuna aritmetica per trovare l'indice giusto.Heap alloca un array 2D (non un array di puntatori)
Ogni tutorial che vedo online mi dice di creare una serie di puntatori che puntano agli array delle righe che voglio nel mio array. Ciò significa che ogni subarray deve essere malloc'd e free'd individualmente. Mi interessa una soluzione che richiede solo una chiamata a malloc e una chiamata a free. (Quindi tutti gli elementi sono contigui) Penso che questo sia possibile perché non costruirò una matrice seghettata.
Apprezzerei se qualcuno potesse condividere la sintassi per dichiarare un tale array.
C++ è un'opzione? È possibile creare un oggetto C++ semplice che sovraccarichi l'operatore di indicizzazione. –
@ RichardJ.RossIII: È davvero una risposta valida a una domanda di "come faccio questo in C?" (rendendosi conto che * l'hai * lasciato come commento). Prenderò C over C++ ogni giorno grazie. –
@ Eds. anche se preferisci C, C++ è meglio in alcune situazioni, e questo sarebbe uno di questi. L'ho lasciato come commento semplicemente per determinare se sarebbe stata un'opzione. –