Puntatori in C++ - VIII - Es con Vettori di puntatori

Dopo avere svolto la consegna precedente sui vettori di puntatori risolvi i seguenti esercizi. Esempi di vettori di puntatori:

int main() { // Dichiaro vettori di puntatori	
    char *s[2][10]={{"ciao"},{"mondo"}}; // Inizializzo
    cout << s[1] << " " << *s[1] << endl; // Cosa stamperà?
    int* vi[20];
    vi[0] = new int;
    *vi[0] = 8;
    cout << *vi[0] << endl; // Cosa stampa?
    delete vi[0]; // Cosa fa?
    cout << *vi[0] << endl; // Cosa stampa?
}

Ricorda che quando si dichiara un puntatore non si dichiara anche lo spazio necessario per salvare il valore al suo interno. Ad esempio int * pi; non dichiara anche lo spazio per salvare l'intero e si deve poi assegnare pi all'indirizzo di una variabile intera oppure creare una nuova variabile intera con l'operatore new.

Attività:

  1. Riscrivi e prova su devC++ l'esercizio mostrato sopra rispondendo alle domande tra i commenti
  2. Riscrivi l'esercizio del video precedente sostituendo int* a char*
  3. Crea la funzione void visVettore(int *vi[], int n): visualizza gli elementi del vettore vi
  4. Crea la funzione void messaggioDelGiorno(char *pMsgs[], int n): visualizza un messaggio a caso tra quelli dell'elenco passato. Meglio se i messaggi sono buffi.
  5. Crea la funzione void ordina_pNomi(char *pNomi[], int n): ordina il vettore pNomi in base alla lunghezza del nome.
  6. Crea la funzione void insInVettore(int* pV, int pos, int* vi[], int &n): inserisce l'intero puntato da pV nella posizione pos del vettore vi di lunghezza n. Poi incrementa il valore di n
  7. Carica su moodle il codice.
  8. Quindi correggi il lavoro dei tuoi compagni

Maggiori informazioni su un sito di puntatori

Buon lavoro!