[Tableau] Question de declaration.
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:
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:
1 2 3
|
ent1[10]=144443
ent2[10]=45 |
On m'aurait mentis ? :?
me décourageant pas ... j'ai fait cet autre test :
Code:
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 ?