mi spiegate cosa vuole dire char*?? sto diventando pazzo per capirlo
char è una variabile che contiene solo un carattere come es: A,a,1 e cosi via ma * cosa vole dire??
mi spiegate cosa vuole dire char*?? sto diventando pazzo per capirlo
char è una variabile che contiene solo un carattere come es: A,a,1 e cosi via ma * cosa vole dire??
E' un indicatore che trasforma la variabile in un PUNTATORE. http://it.wikipedia.org/wiki/Puntatore_(programmazione)
se ho capito bene è una variabile dentro un'altra variabile..
se io scrivo: char a a = 0 char b = int(a)
poi, fare un operazione:
c = a+6
è uguale a scrivere:
c = *b+6
giusto??
Non e' giusto, esattamente. Puoi scrivere:
char a, c; char *b = &a; a = 0;
poi, fare un operazione:
c = a+6
è uguale a scrivere:
c = *b+6
char* è un puntatore ad una variabile di tipo char. In pratica è una variabile che contiene l'indirizzo di un'altra variabile di tipo carattere. Per creare il collegamento tra un char* ed una variabile di tipo char si può usare l'operatore & (address of - indirizzo di ..) Con esso si fa in modo che il puntatore punti ad una variabile ben precisa.
char pippo; char* punta_a_pippo; //puntatore a carattere
con l'istruzione punta_a_pippo = &pippo; si fa in modo che il puntatore punti alla variabile pippo. Dopo che il puntatore è stato valorizzato, cioè punta ad una variabile si può scrivere punta_a_pippo = 'A'; che si legge: *l'oggetto puntato da punta_a_pippo, ovvero pippo, riceve il carattere 'A'
Prima di essere utilizzati i puntatori devono puntare ad una variabile ben precisa altrimenti si rischia di avere un errore in esecuzione.
Non mi sembra di averlo visto... ma char* può anche essere sinonimo di stringa...
es char *str = "ciao mondo!";
str (in questo caso) "punta" alla 'c' di ciao...
ad esempio la strlen in c è realizzata con i char * 8) 8) 8)
Brig: Non mi sembra di averlo visto... ma char* può anche essere sinonimo di stringa...
es char *str = "ciao mondo!";
str (in questo caso) "punta" alla 'c' di ciao...
ad esempio la strlen in c è realizzata con i char * 8) 8) 8)
facciamo chiarezza, una stringa (NON l'oggetto String) non è altro che un array di char. un array non è altro che un puntatore alla prima cella dell' array (le celle hanno dimensione fissa dettata dal tipo di variabile e tutte in sequenza, quindi dal primo indirizzo poi puoi ricavarti i successivi, ed è anche il motivo per cui puoi scrivere al di fuori dell'array, se non fai attenzione)
lesto: facciamo chiarezza, una stringa (NON l'oggetto String) non è altro che un array di char.
ma lo dicevi a me?
era più per fare chiarezza e generalizzare la cosa :)