È valido in linguaggio C?Definizione della dimensione dell'array usando la variabile
#include <stdio.h>
int main()
{
int i = 5;
int a[i]; // Compiler doesn't give error here. Why?
printf("%d",sizeof(a)); //prints 5 * 4 =20. 4 is the size of integer datatype.
return 0;
}
compilatore non dà errore alla dichiarazione int a[i];
. non è una costante quindi come può essere compilata con successo? È perché sto usando il compilatore gcc? È permesso in C++?
La discussione in [la mia risposta qui] (http://stackoverflow.com/a/21273849/1708801) su ciò che è un'espressione costante rispetto agli array di lunghezza variabile è rilevante. –