Quelqu'un arrive-t-il à expliquer le comportement ce code un fois compilé (avec g++) puis exécuter:
On a alors la sortie suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 int main() { const int a = 2; int * pa; const int * cpa; cpa = &a; pa = (int*)cpa; //Pour gruger le mot clé const *pa = 4; printf("a = %d\n", a); printf("*pa = %d\n", *pa); return 0; }
a = 2
*pa = 4
Pourquoi n'a-t-on pas :
a = 4
*pa = 4
pa est censé pointé le contenu de a ?
c'est d'ailleurs le résultat obtenu avec gcc...
Partager