Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Verständnis der Void-Zeiger | Zeiger
C-Grundlagen

bookVerständnis der Void-Zeiger

Als Sie void zum ersten Mal gesehen haben, bezog es sich auf Funktionen, die nichts zurückgeben. Sie können keine Variable vom Typ void erstellen, aber Sie können einen void*-Zeiger deklarieren, der die Adresse eines beliebigen Datentyps speichert.

Note
Hinweis

Wenn Sie die Zeigerübungen in diesem Abschnitt bearbeitet haben, wissen Sie, dass alle Zeiger 8 Byte belegen. Ein void*-Zeiger ist dabei keine Ausnahme.

Ein void*-Zeiger ist nicht an einen bestimmten Datentyp gebunden. Diese Flexibilität ermöglicht es, die Adresse eines beliebigen Datentyps darin zu speichern. Es gibt jedoch eine Einschränkung: Sie können einen void*-Zeiger nicht dereferenzieren.

Note
Hinweis

Diese Einschränkung ergibt sich aus demselben Grund, warum Variablen vom Typ void nicht deklariert werden können. Eine explizite Typumwandlung durchführen!

Main.c

Main.c

copy
1234567891011121314151617181920
#include <stdio.h> int main() { char c = 'F'; int i = 100; double d = 3.15; void* pV; pV = &c; printf("%c \n", *((char*)pV)); pV = &i; printf("%d \n", *((int*)pV)); pV = &d; printf("%.2f \n", *((double*)pV)); return 0; }

Herzlichen Glückwunsch zum Abschluss der C-Programmiergrundlagen! Für weiterführende Kenntnisse empfiehlt sich die Beschäftigung mit Themen wie Makros, Sortieralgorithmen und Datenstrukturen. Das Erlernen einer Linux-Distribution unterstützt zudem die Entwicklung als kompetente:r C-Programmierer:in.

question mark

Wie ruft man den Wert eines void-Zeigers ab?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 6. Kapitel 6

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 why you can't dereference a void pointer?

What are some common uses for void pointers in C?

Can you give examples of how to cast a void pointer to another type?

Awesome!

Completion rate improved to 2.63

bookVerständnis der Void-Zeiger

Swipe um das Menü anzuzeigen

Als Sie void zum ersten Mal gesehen haben, bezog es sich auf Funktionen, die nichts zurückgeben. Sie können keine Variable vom Typ void erstellen, aber Sie können einen void*-Zeiger deklarieren, der die Adresse eines beliebigen Datentyps speichert.

Note
Hinweis

Wenn Sie die Zeigerübungen in diesem Abschnitt bearbeitet haben, wissen Sie, dass alle Zeiger 8 Byte belegen. Ein void*-Zeiger ist dabei keine Ausnahme.

Ein void*-Zeiger ist nicht an einen bestimmten Datentyp gebunden. Diese Flexibilität ermöglicht es, die Adresse eines beliebigen Datentyps darin zu speichern. Es gibt jedoch eine Einschränkung: Sie können einen void*-Zeiger nicht dereferenzieren.

Note
Hinweis

Diese Einschränkung ergibt sich aus demselben Grund, warum Variablen vom Typ void nicht deklariert werden können. Eine explizite Typumwandlung durchführen!

Main.c

Main.c

copy
1234567891011121314151617181920
#include <stdio.h> int main() { char c = 'F'; int i = 100; double d = 3.15; void* pV; pV = &c; printf("%c \n", *((char*)pV)); pV = &i; printf("%d \n", *((int*)pV)); pV = &d; printf("%.2f \n", *((double*)pV)); return 0; }

Herzlichen Glückwunsch zum Abschluss der C-Programmiergrundlagen! Für weiterführende Kenntnisse empfiehlt sich die Beschäftigung mit Themen wie Makros, Sortieralgorithmen und Datenstrukturen. Das Erlernen einer Linux-Distribution unterstützt zudem die Entwicklung als kompetente:r C-Programmierer:in.

question mark

Wie ruft man den Wert eines void-Zeigers ab?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 6. Kapitel 6
some-alt