回答編集履歴

1

追記

2020/04/13 22:25

投稿

thkana
thkana

スコア7652

test CHANGED
@@ -59,3 +59,51 @@
59
59
  `int array[25 * 100];`
60
60
 
61
61
  なんていう宣言は正当です。
62
+
63
+
64
+
65
+ ---
66
+
67
+
68
+
69
+ 蛇足。
70
+
71
+ 「最初に」とか「途中で」とかは関係ありませんよ。もしかして#defineはプログラムの先頭に書かなきゃいけない、とか思い込んでいますか?
72
+
73
+ ```C
74
+
75
+ #include <stdio.h>
76
+
77
+
78
+
79
+ void main()
80
+
81
+ {
82
+
83
+ #define W 25
84
+
85
+ #define H 25
86
+
87
+ unsigned char img[H][W];
88
+
89
+ ```
90
+
91
+ でも
92
+
93
+ ```C
94
+
95
+ int W = 25;
96
+
97
+ int H = 25;
98
+
99
+ //変数のスコープが変わるので別の影響が出ることはあるけれど
100
+
101
+ void main()
102
+
103
+ {
104
+
105
+ unsigned char img[H][W];
106
+
107
+ ```
108
+
109
+ でも、エラーは変わらないでしょ?