Bonjour,

J'ai essayé de déclarer un tableau de cette façon :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 ?