可变长数组

可变长数组是指在计算机程序设计中，数组对象的长度在运行时（而不是编译时）确定。
支持可变长数组的程序设计语言有：Ada, Algol 68 (for non-flexible rows), APL, C99 (以及C11 ) ，C# , COBOL, Fortran 90, J。
C/C++的柔性数组成员是另外一个语言特性。

例子

下述C99函数内部的局部变量为可变长数组。 
float read_and_process(int n){
    float vals[n];

    for (int i = 0; i < n; i++)
        vals[i] = read_val();
    return process(vals, n);}
同样的功能用Ada表示：
type Vals_Type is array (Positive range <>) of Float;function Read_And_Process (N : Integer) return Float is
   Vals : Vals_Type (1 .. N);begin
   for I in 1 .. N loop
      Vals (I) := Read_Val;
   end loop;
   return Process (Vals);end Read_And_Process;
等价的Fortran 90函数：
function read_and_process(n) result(o)
    integer,intent(in)::n
    real::o

    real,dimension(n)::vals
    real::read_val, process
    integer::i
 
    do i = 1,n
       vals(i) = read_val()
    end do    o = process(vals, n)end function read_and_process
COBOL代码片段：
DATA DIVISION.WORKING-STORAGE SECTION.01  DEPT-PEOPLE.    05  PEOPLE-CNT          PIC S9(4) BINARY.    05  DEPT-PERSON         OCCURS 0 TO 20 TIMES DEPENDING ON PEOPLE-CNT.        10  PERSON-NAME     PIC X(20).        10  PERSON-WAGE     PIC S9(7)V99 PACKED-DECIMAL.
C#函数： 
unsafe void declareStackBasedArray(int size){
    int *pArray = stackalloc int[size];
    pArray[0] = 123;}