PDA

View Full Version : [C] dubbio vettori


D4rkAng3l
09-05-2005, 17:16
Ciao,
dubbio stupidissimo...su un programma di esempio dice:

char *p[MAX];
avendo definito prima MAX pari a 100 con una #define

che vuol dire il puntatore? che stò dichiarando un vettore di vettori di dimensione MAX ognuno?

Grazie

Ziosilvio
09-05-2005, 17:36
che vuol dire il puntatore? che stò dichiarando un vettore di vettori di dimensione MAX ognuno?
In C, l'operatore di array ha precedenza maggiore dell'operatore di dereferenziazione: quindi, p è un array di puntatori a char.
In particolare, MAX è la dimensione dell'array di puntatori: cioè, p è un array di dimensione MAX, e p[0], p[1], ..., p[MAX-1] sono tutti puntatori a char.

D4rkAng3l
09-05-2005, 17:39
In C, l'operatore di array ha precedenza maggiore dell'operatore di dereferenziazione: quindi, p è un array di puntatori a char.
In particolare, MAX è la dimensione dell'array di puntatori: cioè, p è un array di dimensione MAX, e p[0], p[1], ..., p[MAX-1] sono tutti puntatori a char.

ah ok...quindi si tratta di un array di puntatori a char e non un vettore di vettori di caratteri...

ma un array di puntatori a char...è un array in cui ogni elemento contiene il puntatore ad un vettore di caratteri (stringa)...giusto?

DoubleAJ
09-05-2005, 17:57
ma un array di puntatori a char...è un array in cui ogni elemento contiene il puntatore ad un vettore di caratteri (stringa)...giusto?

E'un array in cui ogni elemento contiene il puntatore a un char, sia esso un solo carattere, o il primo di una stringa (vettore di char)...

cionci
09-05-2005, 18:03
ma un array di puntatori a char...è un array in cui ogni elemento contiene il puntatore ad un vettore di caratteri (stringa)...giusto?
Non necessariamente... Può anche semplicemente contenere l'indirizzo di un char...