|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jul 2006
Messaggi: 1568
|
[C] puntatore a carattere...
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?? |
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Sep 2006
Città: ~
Messaggi: 146
|
Al massimo 0
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: Codice:
char[DIM_ARRAY] str;
__________________
Computers are like conditioned air: they work fine 'till you open windows.
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
|
puoi allocarla a piacere così
Codice:
char *buffer;
buffer = (char*) malloc (size + 1);
if (buffer==NULL)
{
printf("errore\n");
}
free (buffer);
Codice:
char str[DIM_ARRAY]; |
|
|
|
|
|
#4 |
|
Member
Iscritto dal: Sep 2006
Città: ~
Messaggi: 146
|
Ooooooops
è vero
__________________
Computers are like conditioned air: they work fine 'till you open windows.
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Jul 2006
Messaggi: 1568
|
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. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 05:47.



















