Verstä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.
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.
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
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.
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Awesome!
Completion rate improved to 2.63
Verstä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.
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.
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
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.
Danke für Ihr Feedback!