|
|
|
![]() |
|
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: 22:04.