C-使用具有设置值的变量初始化数组
出于可扩展性的原因,我正在尝试使用已定义的变量初始化数组 以下是我正在拨打的电话:C-使用具有设置值的变量初始化数组,c,arrays,compiler-errors,C,Arrays,Compiler Errors,出于可扩展性的原因,我正在尝试使用已定义的变量初始化数组 以下是我正在拨打的电话: int dung_width = 160; int dung_height = 105; char dungeon[dung_height][dung_width]; 我得到一个错误,地牢在文件范围内被可变地修改。 这可能吗?这是最好的方法吗 另外,我刚刚开始C编程。像这样使用,如果它们是常量,它们不会给您带来麻烦: #define dung_width 160 #define dung_height 1
int dung_width = 160;
int dung_height = 105;
char dungeon[dung_height][dung_width];
我得到一个错误,地牢在文件范围内被可变地修改。
这可能吗?这是最好的方法吗
另外,我刚刚开始C编程。像这样使用,如果它们是常量,它们不会给您带来麻烦:
#define dung_width 160
#define dung_height 105
char dungeon[dung_height][dung_width];
什么编译器/版本?另外,你能提供一个完整的例子吗?VLA不能与文件作用域一起使用。如果维度号是一个常量,您可以使用以下枚举{dung_width=160,dung_height=105};半地下城[地下城高度][地下城宽度];变量长度数组只能在函数内部使用。请尝试将这些变量定义为常量。@EugeneSh。它在C中无效。我不喜欢常量,因为初学者最好使用宏@在Cconst中允许使用BLUEPIXY定义,在C中也允许使用限定符@BLUEPIXY@BLUEPIXY再次检查你的链接DEMO@CoolVirus演示有什么问题吗?它显示出错误。