A possible answer is that one could modify n inside the function body, which means that the length is lost. But honestly, one could just use const to avoid this. Though, pointers to VLAs are really useful and convenient when allocating dynamic arrays, especially multidimensional.
uecker|2 years ago
Changing the n later has no impact on the size of the arrays later and the compiler is perfectly able to remember the original size.