Was ist ein segmentation fault (Speicherzugriffsfehler) in C++ und warum tritt er auf?
Hallo zusammen! Ich bin ein Anfänger in C++ und bin auf einen unverständlichen Fehler gestoßen. Mein Programm wird ohne Fehler kompiliert, stürzt aber beim Start mit der Meldung "Segmentation fault (core dumped)" ab. Ich verstehe nicht einmal, was das bedeutet.\n\nHier ist der vereinfachte Code, der bei mir dieses Problem verursacht:\n\n```cpp\n#include \nusing namespace std;\n\nint main() {\n int* ptr;\n *ptr = 42; // Hier passiert der crash\n cout << *ptr << endl;\n return 0;\n}\n```\n\nIch deklariere einfach einen pointer `ptr` und versuche, einen Wert hineinzuschreiben. Warum stürzt das Programm ab? Ich habe gehört, dass das irgendwie mit dem Speicher zusammenhängt, aber ich verstehe die Details nicht.\n\nAußerdem habe ich ein weiteres Beispiel mit einem Array:\n\n```cpp\nint arr[5] = {1, 2, 3, 4, 5};\nfor (int i = 0; i <= 5; i++) {\n cout << arr[i] << endl; // In der letzten Iteration tritt ein Fehler auf\n}