Salve a tutti.
Mi sono trovato di fronte ad un problema alquanto fastidioso.
Io ho a che fare con una struct di questo tipo:
Se provo a stampare le dimensioni di ciascun tipo, come da codice seguente:codice:struct MioHeader { int HD_first; char HD_dsc[16]; int HD_second; INT64 HD_time1; INT64 HD_time2; INT64 HD_time3; int HD_third; int HD_begin; int HD_end; };
ottengo, correttamente, questo output:codice:printf("Dimensione int: %d\n", sizeof(int)); printf("Dimensione char: %d\n", sizeof(char)); printf("Dimensione INT64: %d\n", sizeof(INT64));
Quello che non mi torna è la dimensione della struttura, che a mio avviso, date le condizioni precedenti, dovrebbe essere 60 byte. In realtà, questo codice:codice:Dimensione int: 4 Dimensione char: 1 Dimensione INT64: 8
mi stampa a video il valore 64. Se provo a salvare su file i byte della struttura, infatti, noto che subito dopo i tre campi INT64 vengono piazzati 4 byte (tutti con valore 0) che non so proprio da dove vengano...codice:printf("Dimensione struct: %d\n", sizeof(struct MioHeader));
Chi mi risolve questo arcano?
Grazie mille.
Ciao.

 
			
			

 
					
					
					
						 Rispondi quotando
  Rispondi quotando
