Informatiker Board (http://www.informatikerboard.de/board/index.php)
- Themengebiete (http://www.informatikerboard.de/board/board.php?boardid=1)
-- Theoretische Informatik (http://www.informatikerboard.de/board/board.php?boardid=5)
--- C Programmierung (http://www.informatikerboard.de/board/thread.php?threadid=198)


Geschrieben von Celtic_Princess am 23.05.2007 um 19:04:

  C Programmierung

Hallo,

was passiert bei folgendem:

char first[5];

und jetzt geb ich Richard als Eingabe ein. Das ist ja viel mehr als eigentlich geht.

Was passiert denn dann genau?



Geschrieben von Tobias am 23.05.2007 um 21:28:

 

Drei Möglichkeiten:

1.) Du überschreibst einen Speicherbereich, der für eine andere Variable reserviert ist. Du änderst also den Inhalt einer anderen Variable.

2.) Das Betriebssystem hat zwar den Speicherbereich alloziert aber er ist unbenutzt. Dann überschreibst du einfach einen nicht gebrauchten Speicherbereich und nichts passiert.

3.) Du bekommst eine Zugriffsverletzung, weil du in Speicherbereiche schreibst, die virtuell nicht in "echten" physikalischen Speicher gemappt wurden.



Geschrieben von Celtic_Princess am 29.05.2007 um 11:38:

  -

Danke


Forensoftware: Burning Board, entwickelt von WoltLab GmbH