Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Forståelse af Void-Pegepinde | Pointere
C-Grundlæggende

bookForståelse af Void-Pegepinde

Da du først stødte på void, henviste det til funktioner, der ikke returnerer noget. Du kan ikke oprette en variabel af typen void, men du kan erklære en void*-pointer, der kan indeholde adressen til enhver datatype.

Note
Bemærk

Hvis du har arbejdet med pointer-øvelserne i afsnittet, ved du, at alle pointers optager 8 bytes. En void*-pointer er ingen undtagelse.

En void*-pointer er ikke knyttet til nogen specifik datatype. Denne fleksibilitet gør det muligt at gemme adressen til enhver datatype i den. Der er dog en begrænsning: du kan ikke dereferere en void*-pointer.

Note
Bemærk

Denne begrænsning skyldes samme årsag til, at du ikke kan erklære variabler af typen void. Udfør en eksplicit typekonvertering!

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; }

Tillykke med at have gennemført grundlæggende C-programmering! For at komme videre, udforsk emner som makroer, sorteringsalgoritmer og datastrukturer. At lære en Linux-distribution vil også hjælpe dig med at udvikle dig som en dygtig C-programmør.

question mark

Hvordan henter man værdien af en void pointer?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 6. Kapitel 6

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Awesome!

Completion rate improved to 2.63

bookForståelse af Void-Pegepinde

Stryg for at vise menuen

Da du først stødte på void, henviste det til funktioner, der ikke returnerer noget. Du kan ikke oprette en variabel af typen void, men du kan erklære en void*-pointer, der kan indeholde adressen til enhver datatype.

Note
Bemærk

Hvis du har arbejdet med pointer-øvelserne i afsnittet, ved du, at alle pointers optager 8 bytes. En void*-pointer er ingen undtagelse.

En void*-pointer er ikke knyttet til nogen specifik datatype. Denne fleksibilitet gør det muligt at gemme adressen til enhver datatype i den. Der er dog en begrænsning: du kan ikke dereferere en void*-pointer.

Note
Bemærk

Denne begrænsning skyldes samme årsag til, at du ikke kan erklære variabler af typen void. Udfør en eksplicit typekonvertering!

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; }

Tillykke med at have gennemført grundlæggende C-programmering! For at komme videre, udforsk emner som makroer, sorteringsalgoritmer og datastrukturer. At lære en Linux-distribution vil også hjælpe dig med at udvikle dig som en dygtig C-programmør.

question mark

Hvordan henter man værdien af en void pointer?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 6. Kapitel 6
some-alt