INTRODUZIONE ALLA PROGRAMMAZIONE IN C
Array di puntatori
Visto che i puntatori sono variabili, si possono avere array di puntatori.
Ad esempio:
main(argc,argv)
int argc;
char *argv[];
{
}
utilizzato per passare argomenti dalla linea di comando.
Gli array di puntatori sono una rappresentazione di dati che puo' essere
convenientemente utilizzata per far fronte in maniera efficiente ai problemi
di trattamento di linee di testo con lunghezza variabile (ad esempio, nel
caso dell'ordinamento); va ricordato che un testo non puo' essere spostato o
confrontato in una singola operazione.
E' possibile risolvere questi problemi con le seguenti operazioni:
- memorizzare le linee end-to-end in un unico array char (\n va utilizzato
come separatore delle linee);
- memorizzare i puntatori in un diverso array dove ogni puntatore punta al
primo carattere di ogni linea nuova;
- confrontare due linee utilizzando la funzione strcmp() della libreria
standard;
- se due linee non sono ordinate, swappare il puntatore nell'array dei
puntatori (non in quello del testo).
Questa procedura elimina gli aspetti complicati della gestione della
memorizzazione e la dispendiosita' dell'operazione di spostamento di linee
di testo.