Question sur les tableaux
Bonjour,
J'ai essayé de déclarer un tableau de cette façon :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
int main() {
int n = 1000000;
int i;
char tab[n];
char str[] = "Taille du tableau: ";
for(i=0;i<n;i++) {
tab[i]=i%255;
}
printf("%s%d\n", str, sizeof(tab));
} |
à ma surprise la compilation n'a posée aucun problème avec gcc, fonctionne parfaitement et affiche :
Taille du tableau: 1000000
Et pourtant sous GDB un sizeof(tab) donne 2 ...
S'agit t-il d'une particularité de gcc ou d'une nouvelle norme du C ?
Et comment expliquer cette valeur 2 renvoyée par GDB ?