你好, 欢迎｡
在这节课上, 我们将 讨论可变长度数组｡
这到底是什么意思？
这是一个新功能 我想是为C99添加的｡
但到目前为止,
我们 了解数组, 除了多维数组和
这是一个很酷的功能, 可以存储多个数据元素 在一个单一的变量中, 它们是固定大小的｡
一旦指定了该大小, 必须使用硬编码常量｡
声明变量时 它指定了大小,
并且保持不变｡
可变长度数组 有点误导｡
这并不意味着你会改变 数组的大小｡
还是一样的 大小, 但现在可以使用变量｡
所以变量中的变量 长度数组并不意味着您可以修改
数组｡
这意味着你现在可以 设置用于数组变量｡
所以VLA仍然可以 创建后的大小相同｡
变量数组允许您 在创建数组时,
使用变量指定大小和数组｡
所以你可以只使用变量 这就是它的真正含义｡
看起来好像是 没那么有用｡
但事实上 是因为它帮助我们
库和其他语言｡
所以C99推出了这个新的 这就是为什么我想提到它｡
我只想提一下 简单地说,
我不打算提供它的详细用例｡
我只是想告诉你
因为有时候你会经常看到可变长度数组这个术语 当你阅读到c的时候
我也不想让你看到
并告诉我们这到底是什么意思 我们没有提到这个话题｡
所以主要介绍了 使c语言成为一种更好的数值计算语言｡
VLA是哪些可变长度数组
使转换现有的Fortran库变得容易得多 数值计算例程到c.
所以这就是为什么它被添加｡
所以如果你是一个Fortran
程序员, 您可能希望在迁移时使用它 或者转换代码｡
如果您要移植Fortran
代码尝试转换为c, 你可能想使用这个｡
您无法初始化 VLA在其声明中｡
所以没有初始化 当你谈论可变长度数组的时候
以下是您可以使用的一些有效尺寸 可以在宣告数组时套用｡
所以我们可以声明两个 变量和m｡
然后你会看到底部 当我们使用float 8和float a9时,
我们可以在以下情况下使用这些变量： 我们在数组大小中声明它们｡
这在以前是不允许的 但现在它是VLA,
可变长度数组｡
将变量指定为 在数组内部使用｡
它不会在运行时更改大小｡
这里还有其他有效的例子 数组的声明, 您可能需要注意｡
如果您要设置一个 数组到特定大小, 如5｡
在以下情况下可以使用表达式： 您可以指定数组的大小｡
因此在下一个示例5中 乘以2加1, 很好
另一件需要注意的事情是 我们使用了sizeof运算符, 这也很好, 因为
它将返回一个int值｡
Sizeof int将返回 4或8, 具体取决于您运行的计算机,
然后 再加1就很好了｡
输入负数 在数组的声明中,
你不能这么做
没有负4这种东西｡
数组的大小 必须大于0｡
所以零也不会起作用｡
2. 5､ 不能这样做 这也说不通｡
您如何创建 大小为2的数组｡ 5.
但是, 如果你确实把2｡ 内部5个 方括号, 然后将其转换为整型,
没问题
又不想花很多 在变长数组上的时间,
我只想介绍一下这个概念｡
如果你听到这个词, 你知道那是什么
将变量赋给数组 当声明它们的大小时｡
真的只是介绍 以便与现有的Fortran库兼容｡
-谢谢—谢谢