型や変数の大きさを表示

明解C言語 入門編 > 7. 基本型 >

型や変数の大きさを表示

C


#include <stdio.h>

int main(int argc, char* argv[])
{
char a;
signed char b;
unsigned char c;

int d;
signed int e;
unsigned f;
unsigned int g;

short h;
short int i;
signed short int j;
unsigned short k;
unsigned short int l;

long m;
long int n;
signed long int o;
unsigned long p;
unsigned long int q;

float r;
double s;
long double t;

bool w;
wchar_t x;

printf("sizeof(char) = %u\n", sizeof(a));
printf("sizeof(signed char) = %u\n", sizeof(b));
printf("sizeof(unsigned char) = %u\n", sizeof(c));

printf("sizeof(int) = %u\n", sizeof(d));
printf("sizeof(signed int) = %u\n", sizeof(e));
printf("sizeof(unsigned) = %u\n", sizeof(f));
printf("sizeof(unsigned int) = %u\n", sizeof(g));

printf("sizeof(short) = %u\n", sizeof(h));
printf("sizeof(short int) = %u\n", sizeof(i));
printf("sizeof(signed short int) = %u\n", sizeof(j));
printf("sizeof(unsigned short) = %u\n", sizeof(k));
printf("sizeof(unsigned short int) = %u\n", sizeof(l));

printf("sizeof(long) = %u\n", sizeof(m));
printf("sizeof(long int) = %u\n", sizeof(n));
printf("sizeof(signed long int) = %u\n", sizeof(o));
printf("sizeof(unsigned long) = %u\n", sizeof(p));
printf("sizeof(unsigned long int) = %u\n", sizeof(q));

printf("sizeof(float) = %u\n", sizeof(r));
printf("sizeof(double) = %u\n", sizeof(s));
printf("sizeof(long double) = %u\n", sizeof(t));

printf("sizeof(bool) = %u\n", sizeof(w));
printf("sizeof(wchar_t) = %u\n", sizeof(x));

return 0;
}

実行結果


R:\>lesson058\project1.exe
sizeof(char) = 1
sizeof(signed char) = 1
sizeof(unsigned char) = 1
sizeof(int) = 4
sizeof(signed int) = 4
sizeof(unsigned) = 4
sizeof(unsigned int) = 4
sizeof(short) = 2
sizeof(short int) = 2
sizeof(signed short int) = 2
sizeof(unsigned short) = 2
sizeof(unsigned short int) = 2
sizeof(long) = 4
sizeof(long int) = 4
sizeof(signed long int) = 4
sizeof(unsigned long) = 4
sizeof(unsigned long int) = 4
sizeof(float) = 4
sizeof(double) = 8
sizeof(long double) = 10
sizeof(bool) = 1
sizeof(wchar_t) = 2

Delphi


program Project1;

{$APPTYPE CONSOLE}

uses
SysUtils;

procedure main();
var
a: Shortint;
b: Smallint;
c: Longint;
d: Byte;
e: Word;
f: Integer;
g: Cardinal;
h: Boolean;
i: ByteBool;
j: WordBool;
k: LongBool;
l: AnsiChar;
m: WideChar;
n: Char;
o: Single;
p: Double;
q: Extended;
r: Real;
s: Pointer;
t: PChar;
u: PAnsiChar;
v: Comp;
w: OleVariant;
x: Currency;
begin
writeln(format('SizeOf(ShortInt) = %d', [SizeOf(a)]));
writeln(format('SizeOf(SmallInt) = %d', [SizeOf(b)]));
writeln(format('SizeOf(LongInt) = %d', [SizeOf(c)]));
writeln(format('SizeOf(Byte) = %d', [SizeOf(d)]));
writeln(format('SizeOf(Word) = %d', [SizeOf(e)]));
writeln(format('SizeOf(Integer) = %d', [SizeOf(f)]));
writeln(format('SizeOf(Cardinal) = %d', [SizeOf(g)]));
writeln(format('SizeOf(Boolean) = %d', [SizeOf(h)]));
writeln(format('SizeOf(ByteBool) = %d', [SizeOf(i)]));
writeln(format('SizeOf(WordBool) = %d', [SizeOf(j)]));
writeln(format('SizeOf(LongBool) = %d', [SizeOf(k)]));
writeln(format('SizeOf(AnsiChar) = %d', [SizeOf(l)]));
writeln(format('SizeOf(WideChar) = %d', [SizeOf(m)]));
writeln(format('SizeOf(Char) = %d', [SizeOf(n)]));
writeln(format('SizeOf(Single) = %d', [SizeOf(o)]));
writeln(format('SizeOf(Double) = %d', [SizeOf(p)]));
writeln(format('SizeOf(Extended) = %d', [SizeOf(q)]));
writeln(format('SizeOf(Real) = %d', [SizeOf(r)]));
writeln(format('SizeOf(Pointer) = %d', [SizeOf(s)]));
writeln(format('SizeOf(PChar) = %d', [SizeOf(t)]));
writeln(format('SizeOf(PAnsiChar) = %d', [SizeOf(u)]));
writeln(format('SizeOf(Comp) = %d', [SizeOf(v)]));
writeln(format('SizeOf(OleVariant) = %d', [SizeOf(w)]));
writeln(format('SizeOf(Currency) = %d', [SizeOf(x)]));
end;

begin
main;
end.

実行結果


S:\>lesson058\project1.exe
SizeOf(ShortInt) = 1
SizeOf(SmallInt) = 2
SizeOf(LongInt) = 4
SizeOf(Byte) = 1
SizeOf(Word) = 2
SizeOf(Integer) = 4
SizeOf(Cardinal) = 4
SizeOf(Boolean) = 1
SizeOf(ByteBool) = 1
SizeOf(WordBool) = 2
SizeOf(LongBool) = 4
SizeOf(AnsiChar) = 1
SizeOf(WideChar) = 2
SizeOf(Char) = 1
SizeOf(Single) = 4
SizeOf(Double) = 8
SizeOf(Extended) = 10
SizeOf(Real) = 8
SizeOf(Pointer) = 4
SizeOf(PChar) = 4
SizeOf(PAnsiChar) = 4
SizeOf(Comp) = 8
SizeOf(OleVariant) = 16
SizeOf(Currency) = 8