data una struttura, ad esempio WAVEHDR Structure, qual'è il modo piu comodo per settare tutti i suoi valori a 0 in automatico??
memset(&Structure,0,sizeof(WAVEHDR ))?? si puo fare in modi piu eleganti?
grazie
data una struttura, ad esempio WAVEHDR Structure, qual'è il modo piu comodo per settare tutti i suoi valori a 0 in automatico??
memset(&Structure,0,sizeof(WAVEHDR ))?? si puo fare in modi piu eleganti?
grazie
L'alternativa è campo per campo. Un pò scomodo direi![]()
This code and information is provided "as is" without warranty of any kind, either expressed
or implied, including but not limited to the implied warranties of merchantability and/or
fitness for a particular purpose.
C'è sempre l'aggregate initialization.
codice:WAVEHDR struttura={0};
Amaro C++, il gusto pieno dell'undefined behavior.
mhhh bello questo... ma è solo c++ o si puo fare anche in c?Originariamente inviato da MItaly
C'è sempre l'aggregate initialization.
codice:WAVEHDR struttura={0};
Attenzione ... lo puoi fare per inizializzare la struttura, non quando vuoi, come con la memset ...
No MP tecnici (non rispondo nemmeno!), usa il forum.
Mi pare che valga anche in C. Occhio però che la aggregate initialization inizializza a 0 i campi della struttura, non i byte di memoria che essa occupa. Questo può essere un bene (il C non garantisce, ad esempio, che un float azzerato da memset risulti effettivamente uguale a zero, mentre così vai sul sicuro) ma anche un male, dato che alcune librerie che usano le strutture in modo particolare potrebbero esigere che vengano azzerati anche i byte di padding.
Amaro C++, il gusto pieno dell'undefined behavior.