On Sat, 16 Nov 2002 10:34:26 +0900 ひかる <hikaruru@xxxxxxxxxxxxxxxxxx> wrote: > のコードで実行するとlong doubleが12と出てしまいます。8のはずですよね。幾ら確認しても分からないので間違いを教えてください。 マシンや処理系(どんなCコンパイラか)によって、変数のサイズは異なるという様に理解しています。 だから、"sizeof()"という演算子が必要なのでしょう。 「8のはず」と思い込まない方が無難です。 ちなみにこのプログラムの、私のところの実行結果では short int型のサイズは2バイトです。 int型のサイズは4バイトです。 long int型のサイズは4バイトです。 float型のサイズは4バイトです。 double型のサイズは8バイトです。 long double型のサイズは12バイトです。 変数aのサイズは4バイトです。 式a+bのサイズは4バイトです。 と12バイトになっているようです。 また、 http://www.phim.unibe.ch/comp_doc/c_manual/C/CONCEPT/data_types.html によれば、最近のPCでは"long double"は12バイトらしいので、これが標準的なのかと思います。 http://www1.cts.ne.jp/~clab/hsample/Func/Func07.html もご参考下さい。これらは"google"で"sizeof()"を検索して見つけたものです。 -- 杉谷明則 asugitan@xxxxxxxxxxxx