Pekere er en av de mektigste - og vanskeligste - funksjonene i C programmeringsspråk . Når du arbeider med pekere , er det ofte nødvendig å konvertere mellom ulike typer av pekere . Noen ganger er det mulig å konvertere direkte fra en type til en annen , men ofte, spesielt i komplekse programmer , kan du finne det nødvendig å lagre en peker som er konvertert fra en type , men har ennå ikke blitt konvertert til en annen type peker. I så fall må du bruke et tomrom pekeren, som representerer en peker uten type i det hele tatt . Du trenger
C-kompilator
C program
Vis flere instruksjoner
en
erklære din ugyldig peker. For å gjøre en global eller lokal variabel eller et felt i en struktur , skriv " void * p; " på en tom linje inne den tilhørende funksjonen eller struktur , eller utenfor alle funksjoner og strukturer for å gjøre det globale. For å legge til en ugyldig peker argument til en funksjon , skriv " void * p" i funksjonens argument listen. I begge tilfeller kan du erstatte bokstaven " p" med en variabel navn av ditt valg .
2
Lagre en verdi i din ugyldig peker variabel . Hvis du har gjort en lokal eller global variabel , bare skrive " p = (void * ) x ; " . Erstatt " x " med navnet på den maskinskrevet pekeren du ønsker å konvertere til en ugyldig peker. Hvis du har gjort en struktur , skriv " sp = (void * ) x ; " . Erstatt " s " med navnet på struktur og "x " med navnet på pekeren . Hvis du har gjort en funksjon argument , kaller funksjonen som dette: " f ( (void * ) x )" . Erstatt " f" med navnet på funksjonen og "x " med navnet på pekeren .
3
å lese verdien av tomrommet pekeren og konvertere den tilbake i et maskinskrevet pekeren , skriv " x = (Type * ) p; " , der " x " er skrevet pekeren, "p" er tomrommet pekeren og "Type" er den originale typen pekeren du lagret i "p" . Vær nøye med å få den type riktig, fordi C -kompilatoren vil pliktskyldigst konvertere pekeren til hvilken type du ber om , enten du er riktig eller ikke . Dette kan føre til subtile feil som er vanskelig å fikse.