PDA

View Full Version : [C++] Char[n] e *Char HELP


monelli
08-04-2010, 13:10
Allora io dichiaro una variabile buffer

char buffer[100];

Una funzione è così definita bool FAI(char *dati)

Ovviamente se faccio FAI(buffer) da errore in compilazione... ma è corretto fare un cast così FAI( (char*) buffer) in questo modo compila...

Mi spiegate ciò? grazie...

In pratica con char buffer[100] alloco la memoria,
mentre dichiarando char *buffer; non alloco la memoria creo solo un puntatore:
se poi vado ad utilizzare la memcpy nel primo caso funziona nel secondo caso scrivo in pezzi di memoria non allocata e quindi si può piantare giusto??????

fero86
08-04-2010, 23:24
veramente a me questo programma non da il minimo errore in compilazione, poi forse ho capito male:
char buffer[100];

bool FAI(char *dati) {
return true;
}

int main() {
FAI(buffer);
return 0;
}

monelli
09-04-2010, 08:36
Ops neanche a me.....

L'errore si presenta se dichiari buffer come unsigned char, che poi non ne capisco il senso visto che char è un byte e anche unsigned char è un byte.

Grazie per avermi fatto capire che dipendeva da ciò!!!