一,什么是变长数组
我们大家都熟知在C语言中对数组进行初始化时定义数组的长度必须为常变量。而在C99中给出了一个变长数组(简称VLA)的新特性,其允许我们可以使用变量指定数组的大小。
变长数组的根本特征就是数组长度只有运行时才能确定,所以变长数组不能初始化。它的好处是程序员不必在开发时随意指定一个数作为数组的长度,程序可以在运行时为数组分配精确的长度。但是有一点需要明确变长数组不是说数组的大小是可变的,而是数组的大小是可以用变量来指定,在程序运行时,根据变量的大小来指定数组的元素个数,数组的大小一旦确定就不能再变化了。
二,使用变长数组的前提
在VS2022/2026这样的环境下默认使用的编译器是msvc,而这个编译器是不支持C99中变长数组的使用的,为使用变长数组我们有以下两种方法:- 我们可以使用Linux环境下的gcc编译器去验证和使用变长数组(这种方法本篇文章不讨论)。
- 在VS2022/2026上安装clang编译器。
三,如何安装clang编译器
在电脑上搜索Visual Studio Installer,只要安装了vs2022/2026,你的电脑上就会有这个软件,点击修改,就会出现如下图,因为我们在安装vs2022/2026时选择了使用c++桌面开发,所以这个选项前面有勾选。
我们在这个界面右侧找到适用Windows 的C++Clang 工具,勾选,然后下载并安装即可,安装过程如下图
下载速度很慢,最好找一段长空闲时间!!!
下载完成后找到属性页,
点击平台工具集,展开切换成LLVM(clang-cl)即可开始使用变长数组了!
变长数组使用示例
如图
即为变长数组的简单测试了,快去试试吧!!!