Hvordan bruke Void pekere i C

Hvordan bruke Void pekere i C


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 pekeren. I så fall må du bruke et tomrom pekeren, som representerer en peker uten type i det hele tatt.

Bruksanvisning

1 Erklærer din ugyldig pekeren. For å gjøre en global eller lokal variabel eller et felt i en struktur, skriv "tomrom

p;" på en tom linje inne i den tilhørende funksjon eller struktur, eller utsiden av alle funksjoner og strukturer for å gjøre det globale. For å legge til et tomrom peker argument til en funksjon, skriv "tomrommet p" i funksjonens argument listen. I begge tilfeller kan du erstatte bokstaven "p" med noen variabelnavnet du ønsker.

2 Lagrer en verdi i tomrommet pekeren variabel. Hvis du har gjort en lokal eller global variabel, bare skrive "p =

(void) x;". Erstatt "x" med navnet på den skrevet pekeren du ønsker å konvertere til en ugyldig peker. Hvis du har gjort en struktur feltet, skriv "sp = (void) x;". Erstatt "s" med navnet på strukturen og "x" med navnet på pekeren. Hvis du har gjort et funksjonsargument, kaller funksjonen som dette: "f ((void *) x)". Erstatt "f" med navnet på funksjonen og "x" med navnet på pekeren.

3 For å lese verdien av tomrommet pekeren og konvertere den tilbake i en skrevet peker, skriv "x = (type *) p;", der "x" er skrevet pekeren, "p" er ugyldig pekeren og "Type" er den opprinnelige typen pekeren du lagret i "p". Vær nøye med å få den type riktig, fordi C-kompilator 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.

Hint

  • Hvis du skriver kode andre vil bruke, kan du bruke void pekere for å tillate dem å lagre sine egne data for senere bruk. For eksempel, hvis du skriver en telefonbok database bibliotek, i tillegg til å lagre et navn og telefonnummer for hver person, lagre en ugyldig peker også. Dette vil gi programmerer som bruker biblioteket til å lagre sine egne data sammen med din.
  • Når du bruker pekere i C, være svært forsiktig og trinn-for-trinn-ting. Pekere er en av de mest feilutsatte funksjoner i C, og har vært en av de vanligste kildene til sikkerhetshull i moderne programvare.