Kompilieren und Testen des Tauschprogramms
Nachdem wir unser Programm fertiggestellt haben, lassen Sie uns es kompilieren und ausführen, um die Ergebnisse zu sehen.
Kompilieren des Programms
Um das Programm zu kompilieren, verwenden wir den GNU C Compiler (gcc). Öffnen Sie ein Terminal in der WebIDE und führen Sie den folgenden Befehl aus:
cd ~/project
gcc main.c -o swap_program
Dieser Befehl kompiliert unsere main.c
-Datei und erstellt ein ausführbares Programm namens swap_program
.
Ausführen des Programms
Jetzt lassen Sie uns unser Programm ausführen, um zu sehen, ob es die Werte korrekt tauscht:
./swap_program
Sie werden aufgefordert, Werte für a
und b
einzugeben. Nehmen wir beispielsweise an, wir geben ein:
Das Programm sollte anzeigen:
- Die ursprünglichen Werte: a = 5, b = 10
- Die Speicheradressen von a und b
- Die getauschten Werte: a = 10, b = 5
Verständnis der Ausgabe
Wenn Sie das Programm ausführen, sehen Sie mehrere Abschnitte der Ausgabe:
- Ursprüngliche Werte - Zeigt die Werte vor dem Tausch an
- Speicheradressen - Zeigt, wo die Variablen im Speicher gespeichert sind (dies wird sich bei jedem Programmstart ändern)
- Nach dem Tausch - Zeigt die Werte nach der Tauschoperation an
Versuchen Sie, das Programm mehrmals mit verschiedenen Eingabewerten auszuführen, um sicherzustellen, dass der Tausch immer funktioniert.
Wie funktioniert es im Hintergrund?
Lassen Sie uns visualisieren, was im Speicher passiert:
- Zu Beginn, wenn
a = 5
und b = 10
, haben sie jeweils ihre eigenen Speicherorte
ptra
zeigt auf den Speicherort von a
ptrb
zeigt auf den Speicherort von b
- Während des Tauschs:
temp
bekommt den Wert an ptra
(der 5 ist)
- Der Wert an
ptra
wird auf den Wert an ptrb
geändert (der 10 ist)
- Der Wert an
ptrb
wird auf temp
geändert (der 5 ist)
- Nach dem Tausch ist
a = 10
und b = 5
, was effektiv ihre Werte tauscht
Dies zeigt die Stärke von Zeigern (Pointers) - sie ermöglichen es uns, Werte indirekt zu ändern, indem wir direkt die Speicherorte manipulieren.