sizeof演算子について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
あきら

sizeof演算子について

#1

投稿記事 by あきら » 15年前

はじめまして。どうしてもよくわからないので教えてください。
sizeof演算子は変数のサイズを調べるとありますが、なぜ4や8になるのかわかりません。

#include <stdio.h>
int main(void)
{
int i1 = 1, i2 = 1000000000; // 0が9個
double d1 = 1, d2 = 999999.999999; // 9が6+6個
printf("i1のサイズ %d, i2のサイズ %d \n",
sizeof(i1), sizeof(i2));
printf("d1のサイズ %d, d2のサイズ %d \n",
sizeof(d1), sizeof(d2));
return 0;
}

上を実行すると
i1のサイズが4、i2が4、
d1のサイズが8、d2が8
になるのですが、なぜそうなるのかわかりません。文字数のサイズかと思ったのですが違うようですし、変数のサイズとはどういうものなんでしょうか?

dic

Re:sizeof演算子について

#2

投稿記事 by dic » 15年前

使用するメモリの容量です
単位はバイトです

box

Re:sizeof演算子について

#3

投稿記事 by box » 15年前

数値の桁数とは、全く無関係です。

あきら

Re:sizeof演算子について

#4

投稿記事 by あきら » 15年前

ありがとうございます。
使用するメモリの容量ということは、型によって事前に決まっているのでしょうか?

tk

Re:sizeof演算子について

#5

投稿記事 by tk » 15年前

> 使用するメモリの容量ということは、型によって事前に決まっているのでしょうか?
型による、メモリ使用量というのは決まっています。

http://www.geocities.jp/ky_webid/c/010.html
ここをみて少し勉強してみてください。

勉強した上で、あらためてsizeofでサイズをはかると理解できるはずです。

あきら

Re:sizeof演算子について

#6

投稿記事 by あきら » 15年前

ありがとうございます!
初めて見る内容だったので(省かれていたようです)、これなら理解できそうです。助かりました。
また何かあったらよろしくお願いします。

閉鎖

“C言語何でも質問掲示板” へ戻る