回答編集履歴

1

追記1

2019/06/13 07:10

投稿

BeatStar
BeatStar

スコア4958

test CHANGED
@@ -113,3 +113,95 @@
113
113
  また、前提が違う...っていうのは intはあくまで型。
114
114
 
115
115
  構造体じゃないです。
116
+
117
+
118
+
119
+ ----
120
+
121
+
122
+
123
+ [追記1]
124
+
125
+
126
+
127
+ maisumakunさんからご指摘を受けました。
128
+
129
+
130
+
131
+ えーっと、私が言いたかったのは、C++で説明しますが、
132
+
133
+
134
+
135
+ (サイズが環境によって異なることと、私自身が完全には試していないことから)
136
+
137
+
138
+
139
+ [【C言語/C++】データ型のサイズ・範囲の一覧【32bit/64bit環境】](https://marycore.jp/prog/c-lang/data-type-ranges-and-bit-byte-sizes/)を例にとると、
140
+
141
+
142
+
143
+ char : 1
144
+
145
+ int : 4
146
+
147
+ long long : 8
148
+
149
+ double : 8
150
+
151
+
152
+
153
+ となっています。
154
+
155
+
156
+
157
+ 仮に、クラス(構造体でもいいですが) のメンバとして、
158
+
159
+ (あくまで例)
160
+
161
+
162
+
163
+ + 名前 : 文字列 // 要素数30 + 1 = 31
164
+
165
+ + number : int // 学籍番号とか
166
+
167
+ + 体温 : double
168
+
169
+
170
+
171
+ と考えたとき、単純に計算しても、
172
+
173
+
174
+
175
+ char : 1
176
+
177
+ int : 4
178
+
179
+ double : 8
180
+
181
+
182
+
183
+ なので、
184
+
185
+
186
+
187
+ 名前のサイズ = 1 * 31 = 31
188
+
189
+ 学籍番号系のサイズ = 4
190
+
191
+ 体温のサイズ = 8
192
+
193
+
194
+
195
+ すべて合わせると、31 + 4 + 8 = 43 はかかる。
196
+
197
+
198
+
199
+ でも動的確保だとC++ではポインタで表されるため、容量が少なく済む。
200
+
201
+
202
+
203
+ っていうことです。
204
+
205
+
206
+
207
+ (もしかして、私の解釈、間違ってます? )