PDA

View Full Version : [c++] const float *matrix ma che è?


vermaccio
15-03-2006, 10:34
in un listato vedo una dichiarazione
const float *matrix

ma che variabile è?
che sarebbe quell "*"?

sandor78
15-03-2006, 10:45
quello dovrebbe essere un puntatore ad una variabile di tipo float , stai atteno perchè di solito quando c'è la parola chiave const posta prima della definizione del tipo non puoi modifcare il contenuto dove punta il puntatore.

Però hop un dubbio sul fatto che lui chiama la variabile matrix, molto probabilmente è una matrice ho un array, quindi la dichiarazione in questo caso punta al primo elemento della struttura ( o meglio dire all'intero array)

vermaccio
15-03-2006, 11:17
è una matrice 4X4.
quindi la dichiarazione in questo caso punta al primo elemento della struttura ( o meglio dire all'intero array)

quindi la dichiarazione punta al primo elemento.

1)
come faccio a leggere tutti gli elementi della struttura(ad es il terzo)?

2)
come faccio a sapere, casomai non lo sapessi, la strututa da quanti elementi è formata?

3)se volessi stampare a video la matrice come faccio?

sandor78
15-03-2006, 12:50
più che una matrice penso ad un array perche per le mtrici di solito si usa il doppio puntatore.

comunque per stampare i vari elementi a video puoi usare una funzione del genere:

for (int i=0; i<4*4; i++)
{
printf("%f",matrix[i]);

}

per accedere al terzo elemento invece devi fare cosi:

matrix[2];

ricorda che l'indicizzazione parte da zero.

Per sapere quanti elementi ci sono ci deve essere un'alta variabile definita dal programmatore perche con quella soloa dichiarazione non lo pui sapere

vermaccio
15-03-2006, 14:07
grazie!