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

回答編集履歴

2

サンプルのミスを修正

2018/07/18 05:56

投稿

Eki
Eki

スコア429

answer CHANGED
@@ -97,7 +97,7 @@
97
97
  // (中略)
98
98
 
99
99
  void memory(void){
100
- pimage = (image_type *)malloc(sizeof(image_type) * MAX_IMAGESIZE);
100
+ pimage = (image_type *)malloc(sizeof(image_type) * MAX_NUM_OF_IMAGES);
101
101
  }
102
102
  ```
103
103
 

1

おまけを追加

2018/07/18 05:56

投稿

Eki
Eki

スコア429

answer CHANGED
@@ -105,4 +105,12 @@
105
105
 
106
106
  ## おまけ
107
107
 
108
- 本題とは逸れますが、 `printf()` や `FILE` 構造体などは `stdio.h` というヘッダファイルに入っています。できれば `#include <stdio.h>` しておいたほうがよいと思います。
108
+ 本題とは逸れますが、
109
+ 1. `printf()` や `FILE` 構造体などは `stdio.h` というヘッダファイルに入っています。できれば `#include <stdio.h>` しておいたほうがよいと思います。
110
+ 1. `ReadImage()` 関数の定義のところで、その引数のところが
111
+
112
+ void ReadImage(set) {
113
+ // ...
114
+ }
115
+
116
+ となっていますが、きちんと `set` の型を明示するべきです。コンパイルエラーにはならないのですが、C言語では何も書かないと勝手に int と思われるという恐ろしいルールがあります。今回は `set` の型は使われ方から見ても int なので結果的に問題はなかったのですが、思わぬバグの温床になります。見た目にもわかりづらいので、例え int を受け取るのであろうと、きちんと書くべきです。