Silver88
allora ciao a tutti, mi serve aiuto su c e riguardo all' argomento delle matrici, per esempio, nn potete postare un programma fatto cn matrici (e funzioni) oppure qualche sito?
Basta che entri nell'ottica di cosa sono delle matrici (a 2 o più dimensioni).
Una matrice bidimensionale è un vettore (righe) i cui elementi sono dei puntatori.
Ogni elemento puntatore "punta" ad un altro vettore (colonne).
Quindi la matrice bidimensionale è un vettore di punatori a vettore
Silver88
una cosa, nn capisco, quando devo mettere & oppure *....ditemi voi^^
Qui le cose si complicano perchè, per come l'hai messa, ci sarebbe molto da dire.
Provando a semplificare * serve per definire un puntatore, oppure a dereferenziare il puntatore, ovvero ad usarlo come variabile;
mentre il reference & va letto come "indirizzo di":
Codice:
float *a, b; //definisce puntatore float a e variabile b
int *puntatore_intero; //definisce un puntatore ad intero
*puntatore_intero = 1; // VALORE del puntatore modificato
a = &b // INDIRIZZO del puntatore a modificato come indirizzo di b
Adesso modificando a potrai modificare anche la variabile b cui a fa RIFERIMENTO
L'uso dei reference (C++) rende inoltre trasparente l'uso delle variabili che si comportano come qualunque tipo predefinito, evitando al programmatore la matematica dei puntatori ed altre 'scocciature'
per esempio se passo una struttura ad una funzioneconviene quasi sempre passarla come puntatore, per risparmiare tempi di calcolo, ma se la passassi per punatore dovrei usare la meno leggibile sintassi dei puntatori, se passo la variabile come referenceinvece, passo sempre un puntatore ma posso usarlo come una qualsiasi variabile senza perdere i vantaggi del risparmio di calcolo:
Codice:
void func (tipobase * record1, tipobase & record2) {
record1->campo1 = vaolre;
record2.campo1 = valore;
}
Questo è quello che ricordo