逝者如斯,不舍昼夜

尘世中一个迷途小书童,读书太少,想得太多
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

C99新特性:变长数组(VLA)

Posted on 2016-03-13 15:06  SteveWang  阅读(1959)  评论(0编辑  收藏  举报

 

  C99标准引入了变长数组,它允许使用变量定义数组各维。例如您可以使用下面的声明:

int rows = 5;
int cols = 4;
double sales[rows][cols];    // 一个变长数组(VLA)

 

  变长数组有一些限制,它必须是自动存储类的。这意味着变长数组必须在函数内部(包括主函数)或作为函数参量声明,而且声明时不可以进行初始化。

  变长数组中的“变”并不表示在创建数组后可以修改其大小,变长数组的大小在创建后就是保持不变的,”变“的意思是说其维大小可以用变量来指定