View Full Version : [C] info istruzioni
int export_NULL(void** ptr_data, int* length, char** buffer)
{
*buffer=(char*) malloc(sizeof(int));
*(int*)*buffer=*(int*)*ptr_data;
*length=sizeof(int);
...
Potete spiegarmi il significato di queste istruzioni per favore?
tomminno
23-10-2007, 14:09
int export_NULL(void** ptr_data, int* length, char** buffer)
{
*buffer=(char*) malloc(sizeof(int));
*(int*)*buffer=*(int*)*ptr_data;
*length=sizeof(int);
...
Potete spiegarmi il significato di queste istruzioni per favore?
Riga 1: alloca memoria per tanti char quanti ne occupa 1 intero e assegna il puntatore al contenuto di buffer (che è un puntatore a char)
Riga 2: prende il contenuto di ptr_data (che è un puntatore a void) lo casta come puntatore ad intero, ne prende il contenuto e lo assegna a buffer tramite lo stesso procedimento di cast e dereferenziazione (mamma mia quanto è brutta questa parola in italiano!).
Riga 3: assegna al contenuto length la dimensione di un intero.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.