|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Nov 2002
Messaggi: 6134
|
[C] MAtrice dinamica con righe consecutive
Ciao a tutti,
una matrice allocata staticamente ha le righe consecutive in memoria, mentre una dinamica no. E' possibile usare un qualche trucco per allocare le righe della matrice dinamica consecutivamente? In modo cioè che l'ultimo elemento di una riga preceda in memoria il primo elemento della riga successiva. Questo si può fare linearizzando la matrice, ma vorrei sapere se è possibile farlo anche senza la linearizzazione. Spero di essermi spiegato in maniera chiara, Grazie. |
![]() |
![]() |
![]() |
#2 |
Member
Iscritto dal: Apr 2010
Messaggi: 56
|
Codice:
int *elements = malloc(ROWS * COLUMNS * sizeof(int)); int **matrix = malloc(ROWS * sizeof(int *)); for (int i = 0; i < ROWS; ++i) { matrix[i] = elements + (i * COLUMNS); } //Ora puoi accedere normalmente (matrix[row][column]) alla matrice |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Nov 2002
Messaggi: 6134
|
Grrrazie
![]() |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 03:22.