Dator
 |  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

    Vad är en pekare i C

    ? En av de funktioner som gör C sådant kraftfullt programmeringsspråk är möjligheten för programmerare att komma åt minnet direkt med pekare . Pekare används mycket i C för hantering datamatriser , manipulera teckensträngar , skicka parametrar till funktioner och skapar länkade listor och andra komplexa datastrukturer . Pekare är en av de största källorna till förvirring för programmerare nya till C-språket . Förstå och använda pekare är avgörande för effektiv C-programmering .
    Pointer pekare : Var noga med att städa upp !
    Funktion

    Ett objekt pekare , eller helt enkelt pekaren , är en variabel som innehåller en minnesadress där ett föremål , såsom en struct eller float , eller en array med objekt , är lagras. Med denna minnesadress , kan programmeraren läsa , modifiera och flytta genom minnet med hjälp av en pekare .
    Fördelar

    Funktioner som tar en pekare till en extern objektet skickas som en parameter kan ändra det objektet . När funktionen avslutas , kommer det nya värdet som tilldelats objektet kvarstår . En funktion kan ta flera pekare , så att en enda funktion att modifiera flera objekt med en enda funktionsanrop .

    En pekare kan användas för att navigera genom en rad element systematiskt eller slumpmässigt använda array notation , iteration eller grundläggande matematik . Använda tips för arrayåtkomst är snabbare än de mer komplicerade implementeringar av liknande funktioner som finns i andra språk . Medan sådana implementeringar är ofta lättare att använda och förhindra fel , det finns ytterligare omkostnader som påverkar prestandan .
    Betydelse

    Möjligheten att dynamiskt allokera godtyckliga mängder heap minne under runtime är en teknik som kallas " dynamisk minnesallokering . " Många äldre språk, såsom Fortran , krävs det mycket minne allokeras för strukturer såsom arrayer som ska fastställas vid kompileringen , och mängden tilldelade minnet kunde inte ändras under programmets gång . Pekare används i C för att hålla adressen dynamiskt allokerat minne .
    Användning

    En pekare förklaras genom att placera en stjärna ( * ) mellan typ namn och variabelnamn.

    värdet av ett objekt i minnet på den adress som innehas av pekaren nås genom " dereferencing " pekaren. . Dereferencing en pekare görs genom att sätta en stjärna ( * ) före pekaren namn Vid hantering av pekare till struct

    , är en medlem av struct refereras med en pil ( - > ) mellan pekaren namn och medlemmen namnet .

    adress för ett objekt kan nås genom att placera ett et-tecken ( & ) före objektets variabelnamn . Passerar ett objekts adress till en funktion som kallas " passera genom hänvisning . " Parametern deklareras som en pekare i funktionsprototyp . Funktionsblocken dereferences parametern att modifiera dess värde , och värdet kommer att bestå när funktionen avslutas .

    Matriser skapas genom att allokera mängden minne som krävs för att hålla det önskade antalet objekt av en viss typ . Detta sker under eller efter deklaration med pekaren notation och malloc eller calloc , eller under deklarationen med array notation . Element i en array kan nås med hjälp av notation indexreferensperiod eller genom iteration arrayen pekaren . Iteration automatiskt ökar eller minskar adress med storleken på ett enskilt element så att pekaren är rätt placerad i början av nästa eller föregående element .
    Varning

    Minne allokering och avallokering hanteras av programmeraren . Minne som har tilldelats måste avallokeras när det inte längre behövs . Misslyckas att deallocate minnet hindrar det från att användas tills programmet avslutas . En " minnesläcka " uppstår när en hänvisning till det allokerade minnet försvinner utan att frigöra minnet först . Minnesläckor kan hända när en pekare överlåts , eller en exits funktion utan att delegera ägandet av det tilldelade minnet .

    Åtkomst minne efter utgången av tilldelade minne är ett vanligt fel när du arbetar med arrayer . Detta fel kallas för att ha en " array index out of bounds . " Detta kan få programmet att bete sig felaktigt eller avsluta oväntat .

    Tidigare:

    nästa:
    relaterade artiklar
    ·Hur konvertera en ingång till ett heltal
    ·Hur felsöka en minnesläcka i C + +
    ·Hur man tar bort exponenten från en flottör i C + +
    ·Hur man bygger en förloppsindikator i XCode
    ·Konvertera Epoch Time i C + +
    ·Hur man använder en STL Vector Iterator
    ·Vad är en pekare i C
    ·Hur man bygger en CPP körbar på Windows
    ·Hur konvertera en sträng till en INT C
    ·Hur Importera DLL Använda en Unmanaged kod
    Utvalda artiklarna
    ·Flera infogas i MySQL
    ·Hur att få ställa med Visual Basic Egenskaper
    ·Hur man tar bort en fil från Git Begå
    ·Hur du komprimerar MS Access DB i VB
    ·Hur man kör tre slingor i Python
    ·Användning av en default konstruktor C
    ·Vad är Grundläggande Error 104 & Java
    ·Hur man skapar JNLP
    ·Vilka är de typiska Uttalanden i procedurell programme…
    ·Hur man skapar Word-dokument från ASP
    Copyright © Dator Kunskap http://www.dator.xyz