第60章 コンソールアプリでのデータ型


第5章で、データ型の解説をしています。 いろいろなデータ型の変数がメモリー上に何バイトの領域を とっているのか調べるプログラムを作ってみます。
まずは、VC++1.5(16ビットコンパイラ)で作ってみます。

// datatype.c #include <stdio.h> int main() { int a = printf("int = %d bytes\n", sizeof(int)); printf("short = %d bytes\n", sizeof(short)); printf("long = %d bytes\n", sizeof(long)); printf("float = %d bytes\n", sizeof(float)); printf("double = %d bytes\n", sizeof(double)); printf("long double = %d bytes\n", sizeof(long double)); printf("char = %d bytes\n", sizeof(char)); return 0; }

siziofについては、第32章を参照してください。 これで、それぞれのデータ型が何バイト取るのかがわかります。

これは、第5章に書いてある内容と比べて特に問題はないですね。

では、全く同じプログラムをコンソールアプリで作って実行してみましょう。

同じプログラムなのに確保するバイト数が違いますね。 コンソールアプリではintもlongも同じになっています。 しかし、char型だけは、システムが変わろうが1バイトと 決められています。


コンソールアプリは32ビットアプリケーションであることに 注意してください。Windows95/98のDOS窓では動きますが, DOSモードでは動作しません。


[Index][総合Index] [Previous Chapter] [Next Chapter]

Update Aug/16/1998 By Y.Kumei
当ホーム・ページの一部または全部を無断で複写、複製、 転載あるいはコンピュータ等のファイルに保存することを禁じます。