Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Förståelse av Void-Pekare | Pekare
C-Grunder

bookFörståelse av Void-Pekare

När du först såg void, syftade det på funktioner som inte returnerar något. Du kan inte skapa en variabel av typen void, men du kan deklarera en void*-pekare som lagrar adressen till vilken datatyp som helst.

Note
Notera

Om du har arbetat igenom pekarövningarna i avsnittet vet du att alla pekare upptar 8 byte. En void*-pekare är inget undantag.

En void*-pekare är inte bunden till någon specifik datatyp. Denna flexibilitet gör att du kan lagra adressen till vilken datatyp som helst i den. Det finns dock en begränsning: du kan inte dereferera en void*-pekare.

Note
Notera

Denna begränsning beror på samma anledning som att du inte kan deklarera variabler av typen void. Utför en explicit typomvandling!

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

Gratulerar till att ha slutfört grunderna i C-programmering! För att gå vidare, utforska ämnen som makron, sorteringsalgoritmer och datastrukturer. Att lära dig en Linux-distribution kommer också att hjälpa dig att utvecklas som en skicklig C-programmerare.

question mark

Hur hämtar du värdet av en void-pekare?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 6. Kapitel 6

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

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

bookFörståelse av Void-Pekare

Svep för att visa menyn

När du först såg void, syftade det på funktioner som inte returnerar något. Du kan inte skapa en variabel av typen void, men du kan deklarera en void*-pekare som lagrar adressen till vilken datatyp som helst.

Note
Notera

Om du har arbetat igenom pekarövningarna i avsnittet vet du att alla pekare upptar 8 byte. En void*-pekare är inget undantag.

En void*-pekare är inte bunden till någon specifik datatyp. Denna flexibilitet gör att du kan lagra adressen till vilken datatyp som helst i den. Det finns dock en begränsning: du kan inte dereferera en void*-pekare.

Note
Notera

Denna begränsning beror på samma anledning som att du inte kan deklarera variabler av typen void. Utför en explicit typomvandling!

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

Gratulerar till att ha slutfört grunderna i C-programmering! För att gå vidare, utforska ämnen som makron, sorteringsalgoritmer och datastrukturer. Att lära dig en Linux-distribution kommer också att hjälpa dig att utvecklas som en skicklig C-programmerare.

question mark

Hur hämtar du värdet av en void-pekare?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 6. Kapitel 6
some-alt