質問するログイン新規登録

回答編集履歴

3

一行目を削除

2017/10/19 05:54

投稿

masaya_ohashi
masaya_ohashi

スコア9210

answer CHANGED
@@ -1,4 +1,3 @@
1
- まず訂正ですが、intは4byte、charは1byteです。
2
1
  C++の変数の取る領域サイズは**一般的な環境**では以下の通りになります。
3
2
 
4
3
  |型|サイズ(byte)|

2

サイズについて補足

2017/10/19 05:54

投稿

masaya_ohashi
masaya_ohashi

スコア9210

answer CHANGED
@@ -1,5 +1,5 @@
1
1
  まず訂正ですが、intは4byte、charは1byteです。
2
- C++の変数の取る領域サイズは一般的な環境では以下の通りになります。
2
+ C++の変数の取る領域サイズは**一般的な環境**では以下の通りになります。
3
3
 
4
4
  |型|サイズ(byte)|
5
5
  |--|--:|
@@ -8,6 +8,8 @@
8
8
  |char|1|
9
9
  |bool|1|
10
10
 
11
+ ※処理系によってはこのとおりのサイズではないです。
12
+
11
13
  で、なぜboolも1byte取っているかというと、コンピュータのメモリの「最小単位」が1byteだからです。確かにboolは0か1なので1bitしか必要ないのですが、箱の大きさの最小単位が1byteなので1bitしか使わないboolでも1byte必要なのです。
12
14
 
13
15
  なので、char型で配列を作るのは結果的に一番効率のよい「最小の大きさの配列」ということになります。

1

ショート型を追加

2017/10/19 05:53

投稿

masaya_ohashi
masaya_ohashi

スコア9210

answer CHANGED
@@ -4,6 +4,7 @@
4
4
  |型|サイズ(byte)|
5
5
  |--|--:|
6
6
  |int|4|
7
+ |short|2|
7
8
  |char|1|
8
9
  |bool|1|
9
10