Dans un projet (c'est pas la pêne de dire lequel cela n'a pas de rapport),
Mon binôme déclarait, un tableau dynamique de la façon suivant :

i est un paramètre calculé :

int tab[i];

puis l'initialisait de la manière suivante :
int j;
for(j=0;j<0;j++){
tab[i]=Math.random();
}

Ce que je ne comprend pas c'est pourquoi cela marche, car depuis que je fais du C, j'ai toujours fait malloc pour les tableaux de dimension dynamique !

En y regardant de plus près j'ai fait quelques test :
Code C : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
int main(int nbarg,char ** argv){
	int i=12;
	int ent1[i];
	int ent2[15];
	ent1[10]=144443;
	ent2[10]=45;
	printf("ent1[10]=%i\n",ent1[10]);
	printf("ent2[10]=%i\n",ent2[10]);
}

cela renvoi =>
Code Sortie : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
ent1[10]=144443
ent2[10]=45

On m'aurait mentis ?

me décourageant pas ... j'ai fait cet autre test :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
	int i=atoi(argv[1]);
	char c=0x5D;
	int ent1[i];
	int ent2[15];
	ent1[10]=144443;
	ent2[10]=45;
	printf("ent1[10]=%i\n",ent1[10]);
	printf("ent2[10]=%i\n",ent2[10]);
la le résultat est le même ... quelqu'un peut m'expliquer ?