历史上,c语言只支持在编译时能够确定大小的多维数组。若要得到变长数组,就必须用malloc或calloc来为这些数组分配存储空间。ISOC99引入了一种能力,允许数组维度是表达式,在数组被分配时才计算出来。例如:int A[n][n]中,可以通过对表达式n进行求值而确定数组的维度。