Avatar ·

Was ist ein Segmentation Fault (Speicherzugriffsfehler) in C++ und wie behebt man ihn?

Hallo zusammen! Ich habe gerade angefangen, C++ zu lernen und stoße ständig auf den Fehler "Segmentation fault" (oder "Segfault"). Das Programm stürzt einfach ab, und ich verstehe nicht, warum. Hier ist ein Beispiel meines Codes:\n\n```cpp\n#include \nusing namespace std;\n\nint main() {\n int* ptr;\n *ptr = 10; // Hier passiert der segmentation fault\n cout << *ptr << endl;\n return 0;\n}\n```\n\nIch habe den Pointer `ptr` deklariert, ihm aber keine Adresse zugewiesen. Wenn ich versuche, den Wert 10 an diesen Pointer zu schreiben, stürzt das Programm ab. Warum passiert das? Ich dachte, ein Pointer sei einfach eine Variable, die eine Adresse speichert, und ich könnte eine Zahl hineinschreiben.\n\nEin weiteres Beispiel, das bei mir nicht funktioniert:\n\n```cpp\n#include \nusing namespace std;\n\nint main() {\n int arr[5] = {1, 2, 3, 4, 5};\n for (int i = 0; i