Discussione: Puntatori a carattere
Visualizza messaggio singolo
Vecchio 20-08-2004, 15.45.53   #1
otto_cb
Newbie
 
Registrato: 01-08-2004
Messaggi: 18
otto_cb promette bene
Puntatori a carattere

Salve a tutti

volevo porvi un quesito riguardo un dubbio che mi è venuto da poco , sperando di trovare un ampio chiarimento . La questione riguarda proprio i puntatori , e cioè , un puntatore a un intero sulla mia macchina occupa 4Byte , un intero sulla mia macchina occupa 4Byte, mentre un carattere sulla mia macchina occupa 1Byte e un puntatore a un carattere sulla stessa macchina occupa 4Byte : Perche , non dovrebbe occupare lo stesso 1Byte invece di 4?


Se dichiaro un puntatore a un intero e alloco dinamicamente della memoria per lui con malloc:

code : int * Matrix = (int*)malloc(20 *sizeof(int));

quando vedo la sua dimensione totale con sizeof , il risultato è di 4Byte perchè appunto vedo il suo primo elemento Matrix[1].


Se invece dichiaro un puntatore a un carattere con lo stesso sistema:

Code : char * Matrix = (char *)malloc(20 *sizeof(char));

quando vedo la sua dimensione come nel precedente esempio ottengo sempre 4Byte quando credo che ne dovrei vedere 1 , visto che un carattere occupa un Byte .

Quindi questo è qanto, c'è qualcuno che puo darmi qualche spiegazione in merito .


Grazie


otto_cb non è collegato   Rispondi citando