Discussione:
la funzione MEMSET
(troppo vecchio per rispondere)
max
2005-09-03 11:03:47 UTC
Permalink
Qualcuno conosce come funziona questa funzione?
Mi potreste commentare questa parte di codice?

/*Pulisce l'intero array*/
if( ritorno != NULL )
memset( ritorno, 0, taglia * sizeof( Motoveicolo ));

MOTOVEICOLo è una struttura
Motoveicolo* alloca( unsigned int taglia) e questa è il prototipo di
funzione
daniele_athome
2005-09-03 11:41:16 UTC
Permalink
Post by max
Qualcuno conosce come funziona questa funzione?
Mi potreste commentare questa parte di codice?
/*Pulisce l'intero array*/
if( ritorno != NULL )
memset( ritorno, 0, taglia * sizeof( Motoveicolo ));
MOTOVEICOLo è una struttura
Motoveicolo* alloca( unsigned int taglia) e questa è il prototipo di
funzione
memset() è una delle funzioni più stra-famose del C, comunque già che ci
sono te la spiego (non prenderci l'abitudine però, impara a cercare su
Internet qualche volta).

Il prototipo di memset è questo:
void * memset(void * ptr, char b, size_t size);

La funzione memset() riempe di <size> caratteri <b> l'area puntata da <ptr>.
Ma pare restituisse <ptr> o qualcosa del genere (comunque non ti deve
importare cosa restituisce).

Come vedi nel tuo sorgente, se tu riempi l'area puntata da ritorno con
<taglia * sizeof(Motoveicolo)> zeri, pulisci l'intera area (è uno degli usi
della memset(): azzerare strutture, array, buffer, ecc.).

Spero di essere stato chiaro
ciao!
--
daniele_athome
max
2005-09-03 12:15:41 UTC
Permalink
sei stato chiarissimo e ti ringrazio

Continua a leggere su narkive:
Loading...