Цитата(zltigo @ Jul 16 2015, 15:17)

В стиле array[][] в 'С' никак.
Оказывается, можно, но только в С, к сожалению С++ такого не допускает.
Читал вчера про VLA, увлёкся и "случайно" нашёл другое их применение.
Код
void func(int n, int m, int arr[n][m] )
{
for( int i = 0; i < n; i++)
for( int j = 0; j < m; j++)
arr[i][j] = 0; // тут при вычислении адреса операнда будет учитываться размерность m
}
//а так это можно применять:
#define N (10)
#define M (20)
int buf[N][M];
void f2()
{
func( N, M, buf );
}
А размерность n, кстати, учитываться не будет, она для вычисления адреса не нужна.
Более сложные вещи можно делать комбинируя typedef (они тоже могут быть variably modified) и приведение указателей.
Описано в разделе 6.7.5.2 Array declarators стандарта С.
Russia est omnis divisa in partes octo.