Zusammenfassung: Zeiger-Grundlagen
Teil des Abschnitts Logic & Flow der C-Journey von Coddy — Lektion 6 von 63.
Aufgabe
EinfachSchreiben Sie ein C-Programm, das den vollständigen Pointer-Workflow durch die Arbeit mit mehreren Datentypen demonstriert. Ihr Programm sollte:
- Eine Integer-Variable namens
agedeklarieren und sie mit dem Wert 25 initialisieren - Eine Character-Variable namens
gradedeklarieren und sie mit dem Wert 'A' initialisieren - Eine Float-Variable namens
temperaturedeklarieren und sie mit dem Wert 98.6 initialisieren - Drei entsprechende Pointer deklarieren:
- Einen Pointer auf einen Integer namens
age_ptr - Einen Pointer auf einen Character namens
grade_ptr - Einen Pointer auf einen Float namens
temp_ptr
- Einen Pointer auf einen Integer namens
- Den Adressoperator verwenden, um die Adressen der Variablen ihren jeweiligen Pointern zuzuweisen
- Den Dereferenzierungsoperator verwenden, um alle drei Werte über ihre Pointer im folgenden Format auszugeben:
- Age: [value]
- Grade: [value]
- Temperature: [value] (mit genau 1 Dezimalstelle)
- Die ursprünglichen Variablen über ihre Pointer modifizieren:
- Ändern Sie
ageauf 30 unter Verwendung vonage_ptr - Ändern Sie
gradeauf 'B' unter Verwendung vongrade_ptr - Ändern Sie
temperatureauf 99.5 unter Verwendung vontemp_ptr
- Ändern Sie
- Die modifizierten Werte direkt aus den ursprünglichen Variablen (nicht über Pointer) im gleichen Format wie in Schritt 6 ausgeben
Ihre Ausgabe sollte die Ergebnisse im folgenden Format anzeigen:
Age: 25
Grade: A
Temperature: 98.6
Age: 30
Grade: B
Temperature: 99.5Diese Herausforderung testet Ihr Verständnis der Pointer-Deklaration, Adresszuweisung, Dereferenzierung sowohl zum Lesen als auch zum Schreiben von Werten und demonstriert, dass Pointer einen direkten Zugriff auf die Speicherorte der ursprünglichen Variablen ermöglichen.
Probier es selbst
#include <stdio.h>
int main() {
// TODO: Schreiben Sie Ihren Code hier
// Variablen und Pointer deklarieren
// Adressen an Pointer zuweisen
// Werte über Pointer ausgeben
// Werte über Pointer ändern
// Geänderte Werte der ursprünglichen Variablen ausgeben
return 0;
}Alle Lektionen in Logic & Flow
1Zeiger-Grundlagen
Was ist ein Zeiger?Zeiger deklarierenDer Adressoperator (&)Der Dereferenzierungsoperator (*)NULL-ZeigerZusammenfassung: Zeiger-Grundlagen4Projekt: Einfaches Text-Tool
ProjektübersichtZeichen zählen2Pointer und Arrays
Array-Namen als PointerArray-Elemente - PointerPointer-ArithmetikPointer vergleichenWiederholung: Array-Durchlauf mit Pointern5Zeiger und Funktionen
Wertübergabe (Pass-by-Value)Zeiger an Funktionen übergebenVariablen über Zeiger ändernEin klassisches Beispiel: SwapArrays an Funktionen übergebenZusammenfassung: Zeiger als Funktionsargumente8Structs und Zeiger
Zeiger auf StructsDer Pfeiloperator (->)Structs per Wert übergebenÜbergabe von Struct-ZeigernDynamische Allokation von StructsZusammenfassung: Struct ändern - Ptr11Finale Wiederholungsaufgaben
Wiederholung: Dynamische String-KonkatenationWiederholung: Array von StructsWiederholung: Wortfrequenz-Zähler3Character-Arrays und Strings
Strings als char-ArraysDer Null-TerminatorString-Eingabe mit scanfVerwendung von strlen()Verwendung von strcpy()Verwendung von strcat()Verwendung von strcmp()Zusammenfassung: Grundlegende String-Funktionen