Zusammenfassung: Zeiger-Grundlagen
Teil des Abschnitts Logik & Ablauf der C-Journey von Coddy. Lektion 6 von 63.
Aufgabe
EinfachSchreibe ein C-Programm, das den vollständigen Ablauf der Arbeit mit Zeigern demonstriert, indem es mit mehreren Datentypen arbeitet. Dein Programm sollte:
- Eine Integer-Variable namens
agedeklarieren und mit dem Wert 25 initialisieren - Eine Zeichenvariable namens
gradedeklarieren und mit dem Wert 'A' initialisieren - Eine Float-Variable namens
temperaturedeklarieren und mit dem Wert 98.6 initialisieren - Drei entsprechende Zeiger deklarieren:
- Einen Zeiger auf einen Integer namens
age_ptr - Einen Zeiger auf ein Zeichen namens
grade_ptr - Einen Zeiger auf einen Float namens
temp_ptr
- Einen Zeiger auf einen Integer namens
- Den Adressoperator verwenden, um die Adressen der Variablen ihren jeweiligen Zeigern zuzuweisen
- Den Dereferenzierungsoperator verwenden, um alle drei Werte über ihre Zeiger im folgenden Format auszugeben:
- Age: [value]
- Grade: [value]
- Temperature: [value] (mit genau 1 Dezimalstelle)
- Die ursprünglichen Variablen über ihre Zeiger ändern:
agemithilfe vonage_ptrin 30 änderngrademithilfe vongrade_ptrin 'B' änderntemperaturemithilfe vontemp_ptrin 99.5 ändern
- Die geänderten Werte direkt aus den ursprünglichen Variablen ausgeben (nicht über Zeiger) und dabei dasselbe Format wie in Schritt 6 verwenden
Deine Ausgabe sollte die Ergebnisse im folgenden Format anzeigen:
Age: 25
Grade: A
Temperature: 98.6
Age: 30
Grade: B
Temperature: 99.5Diese Aufgabe testet dein Verständnis der Zeigerdeklaration, der Zuweisung von Adressen und der Dereferenzierung zum Lesen und Schreiben von Werten und demonstriert, dass Zeiger direkten Zugriff auf die Speicheradressen 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 Logik & Ablauf
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Übe selbstständig: Online-C-Compiler