Ein Frage zum versehen von Dynamische Array



  • Hallo,

    ich habe zum Testen folge Code geschrieben.

    int x=20;
    DS *Datensatz;
    Datensatz=new DS[x];

    Datensatz[500].x=10;
    Datensatz[501].x=20;

    Edit1->Text=IntToStr(Datensatz[500].x);
    Edit2->Text=IntToStr(Datensatz[501].x);
    delete Datensatz;

    was mich stutzig macht ist: Obwohl ich nur 20 Datensatz reserviert habe, kann ich Datensatz 500 ansprechen.
    Kann jemand sagen was ich falschmache?

    Gruß
    S.Mathi



  • Hallo

    selbstverständlich kannst du über die Grenzen deines C-Arrays hinaus zugreifen. Es gibt in diesem Fall keine Bereichprüfung. Nur wundere dich nicht über seltsame Speicherfehler.

    bis bald
    akari



  • Ok Danke für Hinweis!


Anmelden zum Antworten