Qu'est-ce qu'une segmentation fault (erreur de segmentation) en C++ et pourquoi se produit-elle ?
Bonjour à tous ! Je suis débutant en C++ et j'ai rencontré une erreur incompréhensible. Mon programme se compile sans erreur, mais au lancement il plante avec le message "Segmentation fault (core dumped)". Je ne comprends même pas ce que cela signifie. \n\nVoici un code simplifié qui me cause ce problème :\n\n```cpp\n#include \nusing namespace std;\n\nint main() {\n int* ptr;\n *ptr = 42; // C'est ici que le crash se produit\n cout << *ptr << endl;\n return 0;\n}\n```\n\nJe déclare simplement un pointeur `ptr` et j'essaie d'y écrire une valeur. Pourquoi le programme plante-t-il ? J'ai entendu dire que cela a un rapport avec la mémoire, mais je ne comprends pas les détails. \n\nJ'ai aussi un autre exemple avec un tableau :\n\n```cpp\nint arr[5] = {1, 2, 3, 4, 5};\nfor (int i = 0; i <= 5; i++) {\n cout << arr[i] << endl; // Erreur à la dernière itération\n}```