Frage: Wiso sind mehrere Variablen auf der selben Adresse?
-
Hallo. Das hier ist mein erster Post im Forum.
Ich habe weniger ein "Problem" sondern eher eine Verständnissfrage.
Hier der code um den es geht:#include <stdio.h>
main()
{
int a=15,b=16,c=17,ende;
printf("%i ",&a);
printf("%i ",&b);
printf("%i ",&c);
scanf("%i",ende);
}Das Programm funktioniert. Ich habe allerdings beobachtet das wenn ich das Programm mehrmals, also parallel, starte trotzdem immer wieder die gleichen Speicheradressen ausgegeben werde?
-
Das ist normal.
http://de.wikipedia.org/wiki/Virtuelle_SpeicherverwaltungWie hast du sicher gestellt, dass die Programme wirklich parallel laufen?
-
Sichergestellt habe ich garnichts. Ich habe sie einfach hintereinander gestartet und da das Programm ja erst endet wenn der Benutzer einen Wert für int ende eingibt bin ich davon ausgegenagen, dass die programme parallel laufen.
Ich muss dazu sagen, dass ich gerade erst angefangen habe c zu lernen so vor ein paar wochen.
Danke jedenfalls für die Antwort ich werde mir den Artikel in Wikipedia mal durchlesen.
-
Da jedes Programm seinen eigenen 4 GiB Adressraum bekommt, haben die Variablen vielleicht die selbe logische, aber auf keinen Fall die selbe physikalische Adresse.
greetz, Swordfish