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

回答編集履歴

1

追記

2020/04/13 22:25

投稿

thkana
thkana

スコア7735

answer CHANGED
@@ -28,4 +28,28 @@
28
28
 
29
29
  (余談)関与する値が定数であれば式の演算結果も定数になるので、
30
30
  `int array[25 * 100];`
31
- なんていう宣言は正当です。
31
+ なんていう宣言は正当です。
32
+
33
+ ---
34
+
35
+ 蛇足。
36
+ 「最初に」とか「途中で」とかは関係ありませんよ。もしかして#defineはプログラムの先頭に書かなきゃいけない、とか思い込んでいますか?
37
+ ```C
38
+ #include <stdio.h>
39
+
40
+ void main()
41
+ {
42
+ #define W 25
43
+ #define H 25
44
+ unsigned char img[H][W];
45
+ ```
46
+ でも
47
+ ```C
48
+ int W = 25;
49
+ int H = 25;
50
+ //変数のスコープが変わるので別の影響が出ることはあるけれど
51
+ void main()
52
+ {
53
+ unsigned char img[H][W];
54
+ ```
55
+ でも、エラーは変わらないでしょ?