c++在数组定义时长度是否可以使用变量

问:c/c++在建立数组时能否以变量作为数组长度?

首先明确的表示:不能!!!

c/c++在数组初始化时数组的长度都必须是一个常数,不能是变量(但可以是常变量),这一点是毋庸置疑的。但是为什么提出这个问题呢,是因为在使用codeblocks和dev时发现,数组长度在初始化时用变量,不报错!

代码为证:

c++在数组定义时长度是否可以使用变量_第1张图片

非但没有报错,在后面对其赋值也是正确且可行的(吓得我回去赶紧翻书),发现这其实是很多编译器的扩展,为方便用户使用(确定不会误导用户?)。然后又实验了一下在初始化时赋值:

c++在数组定义时长度是否可以使用变量_第2张图片

这时候又报错了(无fuck可说……),以我目前的水平还不能很好的理解,只能理解为编译器的“好心做错事”了。然后在使用的过程中一定避免用变量定义就好了(但有时候用起来会很方便)。

你可能感兴趣的:(c++在数组定义时长度是否可以使用变量)