home > 写経編 > 柴田望洋『明解C言語 入門編』 > 7. 基本型 >

ForNext

Only Do What Only You Can Do

058. 型や変数の大きさを表示

VBScript

JScript

Perl

PHP

Python

Ruby

PowerShell

Scala

F#

C

更新日 : 2010.10.08
#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

C++

C++Builder

VC++

C#

Java

Objective-C

D

VB

VB.NET

Delphi

更新日 : 2010.09.24
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

Ada

PL/SQL

T-SQL

関数型

inserted by FC2 system