|  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
Programmering
  • C /C + + -programmering
  • Computer Programspråk
  • Delphi Programmering
  • Java Programming
  • JavaScript programmering
  • PHP /MySQL Programmering
  • perl Programmering
  • python Programming
  • Ruby programmering
  • Visual Basics Programmering
  • * Dator Kunskap >> Programmering >> C /C + + -programmering >> Content

    Kan du förklara skillnaden mellan pekare och variabler i programmeringsspråk?

    Kärnskillnaden mellan pekare och variabler ligger i vad de har:

    * variabel: En variabel har ett * värde * direkt. Tänk på det som en behållare som lagrar data, som ett nummer, ett tecken eller en sträng. När du förklarar en variabel tilldelar du utrymme i minnet för att hålla dessa data.

    * pekare: En pekare har en *minnesadress *. Denna adress pekar på platsen i minnet där ett annat värde lagras. Det är som att ha ett papper med en adress skriven på det - själva adressen är inte huset (värdet), men det berättar var du hittar huset.

    Här är en analogi:

    Föreställ dig en stad.

    * variabel: Ett hus i staden. Huset innehåller något (möbler, människor etc.). Husets adress är inte en del av vad som finns i huset; Det är husets läge.

    * pekare: Ett papper med adressen till ett hus skrivet på det. Själva papperet innehåller inte husets innehåll, bara adressen för att hitta det.

    i kod (C ++ Exempel):

    `` `C ++

    #include

    int main () {

    int x =10; // x är en variabel som innehar värdet 10

    int* ptr; // ptr är en pekare till ett heltal (det pekar inte på någonting ännu)

    ptr =&x; // PTR pekar nu på minnesadressen till x

    std ::cout <<"värde på x:" < std ::cout <<"Adress till x:" <<&x < std ::cout <<"Värde på ptr:" < std ::cout <<"Värde pekad på av ptr:" <<*ptr <

    return 0;

    }

    `` `

    I det här exemplet:

    * `X` är en variabel som direkt lagrar heltalsvärdet 10.

    * `PTR` är en pekarvariabel. `&X` ger oss minnesadressen till` x ', och vi tilldelar den adressen till `ptr`. `*PTR` (DereFerence Operator) åtkomst till värdet på minnesadressen lagrad i` PTR '.

    Nyckelskillnader sammanfattade:

    | Funktion | Variabel | Pekare |

    | ---------------- | -------------------------------------- | ---------------------------------------------- |

    | håller | Värde | Minnesadress |

    | deklaration | `Int x;` (t.ex.) | `Int* ptr;` (t.ex.) |

    | Access | Direkt (t.ex. `x`) | Indirekt (med DereFerence Operator `*`) |

    | minne | Minne tilldelad för att lagra värdet | Minne tilldelad för att lagra adressen |

    Pekare är kraftfulla men kan vara svåra att använda korrekt. De är viktiga för dynamisk minnesallokering, länkade listor, träd och andra avancerade datastrukturer. Emellertid kan felaktig användning av pekare leda till minnesläckor och segmenteringsfel. Många språk på högre nivå (som Python, Java och C#) erbjuder skräpinsamling och dölj pekare från programmeraren för att förenkla utvecklingen och förbättra säkerheten.

    Tidigare:

    nästa:
    relaterade artiklar
    ·Hur du kontrollerar om en Array har värde eller ej i C…
    ·Vad är ett minneskartat register?
    ·Hur man använder ActiveX i C #
    ·Vilken roll har en codec?
    ·Hur får tangenttryckningar i C + +
    ·Hur man gör Cin.Fail
    ·Hur man använder triggers i GTK Radiant
    ·Hur sortera i en Data Grid
    ·Hur att packa en fil i C #
    ·Hur man skapar en BlogSkin för Blogger
    Utvalda artiklarna
    ·Hur man beräknar en checksumma i VB
    ·Vad heter det bästa datorspråket?
    ·Grunderna i SQL
    ·Hur man skriver en GUID Hur man utför enkel uppgift i …
    ·Hur hittar man den Maximum & Minsta antal i Python
    ·Vilka är de program som ger vägbeskrivning datorer?
    ·Hur skicka variabler till CGI Från en Frameset
    ·Hur Tillåt Personsökning i DataGrid
    ·Hur man skickar SMS med JavaMail
    ·Hur Läs Syntax av FORTRAN
    Copyright © Dator Kunskap https://www.dator.xyz