PDA

View Full Version : [C] puntatore a carattere...


nico88desmo
08-01-2007, 18:44
domanda semplice semplice...

quando definisco una variabile di tipo puntatore a carattere,
come per esempio questa:

char *str;

a cui voglio memorizzare una stringa, quanti caratteri può contenere str massimo??

thehuge
08-01-2007, 18:58
Al massimo 0 :D

In realtà facendo così hai dichiarato solo il puntatore, senza allocare lo spazio per l'array/lista di caratteri.

Se vuoi assegnare un valore a questa stringa hai diverse possibilità, ma quella più adatta allo scopo è usare un array di caratteri:

char[DIM_ARRAY] str;

dove DIM_ARRAY è la dimensione massima della stringa;

vizzz
08-01-2007, 19:03
puoi allocarla a piacere così
char *buffer;

buffer = (char*) malloc (size + 1);
if (buffer==NULL)
{
printf("errore\n");
}
free (buffer);

oppure come ha detto thehuge, ma la sintassi è sbagliata :D
char str[DIM_ARRAY];

thehuge
08-01-2007, 19:13
Ooooooops :uh:
è vero

:flower:

nico88desmo
08-01-2007, 19:23
Grazie a entrambi per le risposte!

Comunque...ho risolto allocando con la malloc (size);

infatti quello che volevo fare (per ora funziona ma devo ancora testarlo per bene) è di simulare una scanf di una stringa però senza specificare una dimensione massima.