回答編集履歴
1
追記1
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
|
+
(もしかして、私の解釈、間違ってます? )
|