Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Kurze Übersicht Über Zeiger | Arbeiten mit Zeigern und Strukturen
C-Strukturen Meistern

bookKurze Übersicht Über Zeiger

Dereferenzierungsoperator

Ein Zeiger ist eine Variable, die die Adresse eines anderen Objekts enthält.

Der Dereferenzierungsoperator "*" gibt den Wert zurück, der an der Adresse gespeichert ist.

Deklaration und Initialisierung eines Zeigers sieht folgendermaßen aus:

int* pName = NULL;
main.c

main.c

copy
12345678
#include <stdio.h> int main() { int* pName = NULL; printf("%p\n", pName); // `%p` is a specifier for a pointer return 0; }

Referenzierungsoperator &

Der Operator & gibt die Adresse eines Objekts zurück:

main.c

main.c

copy
12345678
#include <stdio.h> int main() { int variable; printf("%p\n", &variable); return 0; }

Eine Variable vom Zeigertyp wird verwendet, um die Adresse zu speichern, die vom &-Operator zurückgegeben wird.

int variable;
int* pVariable;
pVariable = &variable;

Um den Inhalt an der angegebenen Adresse auszulesen, muss der *-Operator auf eine Variable vom Typ Zeiger angewendet werden.

main.c

main.c

copy
12345678910
#include <stdio.h> int main() { int variable = 1024; int* pVariable = &variable; printf("Address: %p\n", pVariable); // `%p` specifier for a pointer printf("Returned value by address: %d\n", *(pVariable)); // using `*` to pointer return 0; }
Aufgabe

Swipe to start coding

Sie haben ein Produkt mit einem bestimmten Preis und müssen dessen Wert um einen angegebenen Prozentsatz erhöhen.
Ihre Aufgabe ist es, eine Funktion zu implementieren, die den Preis des Produkts mithilfe eines Zeigers aktualisiert.

In der Funktion updatePrice:

  1. Verwenden Sie den Dereferenzierungsoperator (*), um auf den aktuellen im Speicher gespeicherten Wert zuzugreifen — zum Beispiel bezieht sich *price auf 100.0.
  2. Berechnen Sie den Prozentsatz des aktuellen Preises*price * percentIncrease / 100.0, was bei 10 % von 100.0 10.0 ergibt.
  3. Addieren Sie diesen Prozentsatz zum ursprünglichen Wert, um den aktualisierten Preis zu erhalten — *price = *price + (percentage part).
  4. Die Funktion gibt nichts zurück — sie modifiziert den Wert direkt über den Zeiger.

Example

Initial PriceIncrease (%)Updated Price
100.010.0110.0
250.05.0262.5
80.025.0100.0

Lösung

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 1
single

single

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Suggested prompts:

Can you explain the difference between the * and & operators in more detail?

Can you give an example of how to use pointers in a function?

What are some common mistakes when working with pointers?

close

bookKurze Übersicht Über Zeiger

Swipe um das Menü anzuzeigen

Dereferenzierungsoperator

Ein Zeiger ist eine Variable, die die Adresse eines anderen Objekts enthält.

Der Dereferenzierungsoperator "*" gibt den Wert zurück, der an der Adresse gespeichert ist.

Deklaration und Initialisierung eines Zeigers sieht folgendermaßen aus:

int* pName = NULL;
main.c

main.c

copy
12345678
#include <stdio.h> int main() { int* pName = NULL; printf("%p\n", pName); // `%p` is a specifier for a pointer return 0; }

Referenzierungsoperator &

Der Operator & gibt die Adresse eines Objekts zurück:

main.c

main.c

copy
12345678
#include <stdio.h> int main() { int variable; printf("%p\n", &variable); return 0; }

Eine Variable vom Zeigertyp wird verwendet, um die Adresse zu speichern, die vom &-Operator zurückgegeben wird.

int variable;
int* pVariable;
pVariable = &variable;

Um den Inhalt an der angegebenen Adresse auszulesen, muss der *-Operator auf eine Variable vom Typ Zeiger angewendet werden.

main.c

main.c

copy
12345678910
#include <stdio.h> int main() { int variable = 1024; int* pVariable = &variable; printf("Address: %p\n", pVariable); // `%p` specifier for a pointer printf("Returned value by address: %d\n", *(pVariable)); // using `*` to pointer return 0; }
Aufgabe

Swipe to start coding

Sie haben ein Produkt mit einem bestimmten Preis und müssen dessen Wert um einen angegebenen Prozentsatz erhöhen.
Ihre Aufgabe ist es, eine Funktion zu implementieren, die den Preis des Produkts mithilfe eines Zeigers aktualisiert.

In der Funktion updatePrice:

  1. Verwenden Sie den Dereferenzierungsoperator (*), um auf den aktuellen im Speicher gespeicherten Wert zuzugreifen — zum Beispiel bezieht sich *price auf 100.0.
  2. Berechnen Sie den Prozentsatz des aktuellen Preises*price * percentIncrease / 100.0, was bei 10 % von 100.0 10.0 ergibt.
  3. Addieren Sie diesen Prozentsatz zum ursprünglichen Wert, um den aktualisierten Preis zu erhalten — *price = *price + (percentage part).
  4. Die Funktion gibt nichts zurück — sie modifiziert den Wert direkt über den Zeiger.

Example

Initial PriceIncrease (%)Updated Price
100.010.0110.0
250.05.0262.5
80.025.0100.0

Lösung

Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 1
single

single

some-alt