6. Vettori e Puntatori

6.1 Ho la definizione char a[6] in un file sorgente, e in un altro ho dichiarato extern char *a. Perche` non funziona?

6.2 Ma ho sentito che char a[] e` identico a char *a.

6.3 Dunque cosa si intende con ``equivaleza di puntatori e vettori'' in C?

6.4 Perche` le dichiarazioni di vettori e di puntatori sono intercambiabili come parametri formali di funzioni?

6.7 Come puo` un vettore essere un lvalue, se non gli si possono fare assegnazioni?

6.8 Qual'e` la reale differenza tra vettori e puntatori?

6.9 Qualcuno mi ha spiegato che i vettori sono in realta` solo puntatoti costanti.

6.11 Ho casualmente trovato del codice scritto per gioco che contiene l'espressione 5["abcdef"]. Come questo puo` essere legale in C?

6.12 Quale e` la differenza tra array e &array?

6.13 Come dichiaro un puntatore a un vettore?

6.14 Come si puo` fissare la dimensione di un vettore durante l'esecuzione?

6.15 Come si possono dichiarare vettori locali con una dimensione adattata a un vettore passato come argomento?

6.16 Come si puo` allocare dinamicamente un vettore multidimensionale?

6.17 Come simulare un vettore che non parta da zero tramite un puntatore?

6.18 Il mio compilatore si lamenta quando passo un vettore bi-dimensionale a una funzione che richiede un puntatore a un puntatore.

6.19 Come si scrivono funzioni che accettino vettori bi-dimensionali quando la larghezza non e` nota durante la compilazione?

6.20 Come si possono usare vettori multi-dimensionali allocati staticamente e dinamicamente in modo intercambiabile nel passarli a funzioni?

6.21 Perche` sizeof non riporta correttamente la dimensione di un vettore che e` un parametro a una funzione?


Cima