Le jeudi 05 mars 2020 à 11:36 +0100, Edgar Bonet a écrit :
> Bonjour !
>
> Xavier Bestel a écrit :
> > const int myvar = 5;
> > *(int*)&myvar = 3;
> >
> > C'est moche, oui.
>
> Je confirme que c'est moche :
>
> Segmentation fault (core dumped)
Oui, faire ça c'est du "Undefined Behavior", donc le compilateur a le
droit de faire nimp' avec - planter par exemple.
Mais si tu compiles sans optimisation ça devrait passer. Chez moi ça
passe:
[xav@pcxav:~]$ cat b.c
int main(int argc, char **argv) {
const int myvar = 5;
*(int*)&myvar = 3;
}
[xav@pcxav:~]$ gcc -o b b.c
[xav@pcxav:~]$ ./b
[xav@pcxav:~]$