int *ptr = malloc(sizeof(char));
*ptr = 100000;
printf("%d\n", *ptr); // 100000
Cela ne devrait-il pas permettre d'allouer suffisamment de mémoire pour un char
c'est-à-dire 1 octet ? Par conséquent, le plus grand nombre ne devrait-il pas être 255 ?
Comment l'impression se poursuit-elle ? 100000
?
Mise à jour
Merci pour vos réponses. S'il écrase les octets suivants, comment le C peut-il savoir que ce nombre est plus grand qu'un octet, et ne pas se contenter de regarder dans le premier octet ?