Следующая программа должна выполнить трюк для примитивных типов:
#include <stdio.h>
int main()
{
printf("sizeof(char) = %d\n", sizeof(char));
printf("sizeof(short) = %d\n", sizeof(short));
printf("sizeof(int) = %d\n", sizeof(int));
printf("sizeof(long) = %d\n", sizeof(long));
printf("sizeof(long long) = %d\n", sizeof(long long));
printf("sizeof(float) = %d\n", sizeof(float));
printf("sizeof(double) = %d\n", sizeof(double));
printf("sizeof(long double) = %d\n", sizeof(long double));
return 0;
}
Это печатает количество «байтов», используемых типом, с sizeof(char) == 1
по определению.То, что означает 1 (то есть, сколько битов), зависит от конкретной реализации и, вероятно, зависит от базового оборудования.Например, некоторые машины имеют 7-битные байты, а некоторые имеют 10 или 12-битные байты.