Cの実験部屋
更新日:2010/6/26


この実験室はムンバさんが、C言語の勉強をしてる途中などで、疑問に思ったりした事を
(購入した本や、参考・検索・質問サイトを参照に)
適当に作ったソースを保存しておくためのページです。
はっきり言うと、C言語を勉強してる過程で
脱線した時に書いたソースを、保存しておくためのページです。
全く信用してはいけませんぜっ!
あなたの環境で動作するかの保障などは一切保障しませんし
コメントとかも、いい加減ですので信用できません。
字下げも<pre>タグで、いい加減に表示されます。

プログラミングの館に戻る

疑問No 疑問 その他
     
疑問1 型宣言した変数のバイト数 none

Cの実験室トップ

疑問1:型宣言した変数のバイト数

/* katasengen_hensuu_bite001.c */

#include <stdio.h>

int main()
{
        signed char signed_char_bite; /* signed 省略可 */
        unsigned char unsigned_char_bite;
        signed short int signed_short_int_bite; /* signed int 省略可 */
        unsigned short int unsigned_short_int_bite; /* int 省略可 */
        signed int signed_int_bite; /* signed 省略可 */
        unsigned int unsigned_int_bite;
        signed long int signed_long_int_bite; /* signed int 省略可 */
        unsigned long int unsigned_long_int_bite; /* int 省略可 */
        float float_bite;
        double double_bite;

        printf("現在の環境での、型宣言をした変数の記憶領域をバイト単位で表示\n");
        printf("signet:正負符号在り。unsignet:符号無しの型で正の値のみ\n");
        printf("型宣言の( )内は、省略可\n\n");
        
        printf(" (signed) char          = %d bite\n\n", sizeof signed_char_bite);
        printf(" unsigned char          = %d bite\n\n", sizeof unsigned_char_bite);
        printf(" (signed) short (int)   = %d bite\n\n", sizeof signed_short_int_bite);
        printf(" unsigned short (int)   = %d bite\n\n", sizeof unsigned_short_int_bite);
        printf(" (signed) int           = %d bite\n\n", sizeof signed_int_bite);
        printf(" unsigned int           = %d bite\n\n", sizeof unsigned_int_bite);
        printf(" (signed) long (int)    = %d bite\n\n", sizeof signed_long_int_bite);
        printf(" unsigned long (int)    = %d bite\n\n", sizeof unsigned_long_int_bite);
        printf(" float                  = %d bite\n\n", sizeof float_bite);
        printf(" double                 = %d bite\n\n", sizeof double_bite);

        return 0;
}

実行結果:環境 Win7 VC++2008

(signed) char = 1 bite

unsigned char = 1 bite

(signed) short (int) = 2 bite

unsigned short (int) = 2 bite

(signed) int = 4 bite

unsigned int = 4 bite

(signed) long (int) = 4 bite

unsigned long (int) = 4 bite

float = 4 bite

double = 8 bite

Cの実験室トップ


プログラミングの館