Ciao ragazzi, eseguendo un programmino come questo
#include <stdio.h>
int main()
{
printf("\n\tUn char è %d byte", sizeof(char));
printf("\n\tUn int è %d byte", sizeof(int));
printf("\n\tUn short è %d byte", sizeof(short));
printf("\n\tUn long è %d byte", sizeof(long));
printf("\n\tUn unsigned char è %d byte", sizeof(unsigned char));
printf("\n\tUn unsigned int è %d byte", sizeof(unsigned int));
printf("\n\tUn unsigned short è %d byte", sizeof(unsigned short));
printf("\n\tUn unsigned long è %d byte", sizeof(unsigned long));
printf("\n\tUn float è %d byte", sizeof(float));
printf("\n\tUn double è %d byte", sizeof(double));
printf("\n\n");
return 0;
}
ho notato una cosa strana.
La dimensione dell'int dev'essere minore o uguale a quella di un long per lo standard.
Come mai a me non è così?
blackangel@damiano:~$ ./sizeof
Un char è 1 byte
Un int è 4 byte
Un short è 2 byte
Un long è 2 byte
Un unsigned char è 1 byte
Un unsigned int è 4 byte
Un unsigned short è 2 byte
Un unsigned long è 4 byte
Un float è 4 byte
Un double è 8 byte
blackangel@damiano:~$
(spero di non aver scritto una cavolata)
ciao ciao

Rispondi quotando