回答編集履歴

2

サンプルのミスを修正

2018/07/18 05:56

投稿

Eki
Eki

スコア429

test CHANGED
@@ -196,7 +196,7 @@
196
196
 
197
197
  void memory(void){
198
198
 
199
- pimage = (image_type *)malloc(sizeof(image_type) * MAX_IMAGESIZE);
199
+ pimage = (image_type *)malloc(sizeof(image_type) * MAX_NUM_OF_IMAGES);
200
200
 
201
201
  }
202
202
 

1

おまけを追加

2018/07/18 05:56

投稿

Eki
Eki

スコア429

test CHANGED
@@ -212,4 +212,20 @@
212
212
 
213
213
 
214
214
 
215
- 本題とは逸れますが、 `printf()` や `FILE` 構造体などは `stdio.h` というヘッダファイルに入っています。できれば `#include <stdio.h>` しておいたほうがよいと思います。
215
+ 本題とは逸れますが、
216
+
217
+ 1. `printf()` や `FILE` 構造体などは `stdio.h` というヘッダファイルに入っています。できれば `#include <stdio.h>` しておいたほうがよいと思います。
218
+
219
+ 1. `ReadImage()` 関数の定義のところで、その引数のところが
220
+
221
+
222
+
223
+ void ReadImage(set) {
224
+
225
+ // ...
226
+
227
+ }
228
+
229
+
230
+
231
+ となっていますが、きちんと `set` の型を明示するべきです。コンパイルエラーにはならないのですが、C言語では何も書かないと勝手に int と思われるという恐ろしいルールがあります。今回は `set` の型は使われ方から見ても int なので結果的に問題はなかったのですが、思わぬバグの温床になります。見た目にもわかりづらいので、例え int を受け取るのであろうと、きちんと書くべきです。