Char*

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 :)