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 :
la le résultat est le même ... quelqu'un peut m'expliquer ?
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]);
Partager