プログラミング学習日記

プログラミング学習時のメモ帳。

C言語:型の大きさ

間違っている場所あったら優しく教えてね

プログラミング言語にはいくつかの型が存在する. 代表的なのは整数を表すint型, ascii文字を表すchar型が存在する . 型によって使うメモリの大きさが異なってくる. 今回はそれについて調べた.

調べ方

いかに示すコードを作成して, hogeの部分にintなど型名を代入すると型の大きさが得られる.

#include
int main(void){
  printf(" hoge = %lu\n",sizeof(hoge));
  return 0;
}

実行結果

char = 1 // デフォルトはunsigened
short = 2
int = 4
unsigned int = 4
float = 4
double = 8
long long = 8
size_t = 8

基本の型はこれくらいで良いだろう. unsignedがつくと符号無しの型となる.

重要事項

型によって大きさが違うため表せるものが違います. 今回一番重要なのはchar型が1バイトで表されていることです. 整数型のint型や他の方はメモリの大きさが処理系に依存してしまいます.つまりパソコンによってなんバイトの領域が使われるかが異なりす. それに対しchar型は常に1バイトであることが保証されています. これはポインタ(アドレス番号)を処理するとくに非常に役に立ちます.

char と unsigened char

char型はASCIIコードを表している整数型です. 1バイト(8ビット)なので0 ~ 255 まで表すことができる , なお aSCiiコードは127文字しか登録されていないので, charとunsigened char は実際あまり大差がない

ブログを見ていただきありがとうございました