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

    Hur man skapar ett minne pekare i C

    C gör omfattande användning av minne pekare för hantering arrayer , funktionsanrop , datastrukturer och mycket mer . Att veta hur man arbetar direkt med pekare är nyckeln till effektiva C kodning . Instruktioner Review, Skapa variabelminnet Pointer
    1

    Förstå att minnet pekarvariablerna alltid pekar på data av en viss typ . Till exempel är en pekare till en int skiljer sig från en pekare till en char . Dock kommer C inte hindra dig från att fritt blanda upp dem . Gör så bara om du är säker på att du vet vad du gör .
    2

    Skapa en variabel minne pekare genom att använda syntaxen du skulle använda för att skapa en variabel av önskad typ , men med en asterisk ( * ) före variabelnamnet , så här :

     int * x ; 
    3

    Tänk NULL . Pekare kan alltid vara NULL ( 0 ) , och detta används vanligtvis för att hänvisa till en pekare som inte ännu inte är inställt att peka var som helst.
    Referens och dereference
    4

    Lär känna Referera . Referera
    hänvisar till processen att hitta pekaren till en befintlig variabel . I C , är det referera operatören et-tecknet ( & ) . Till exempel :

     int color = 5 ; int * pointer_to_color , pointer_to_color = &color; 
    5

    Utnyttja Dereferencing . Dereferencing
    är processen att följa en pekare till dess värde , motsatsen till referenser . I C asterisk ( * ) används för dereferencing , enligt följande :

     printf ( " Färg är % d \\ n " , * pointer_to_color ) , /* utskrifter 5 * /
    använder minne pekarvariablerna

    6

    Pass i en pekare till variabeln när du behöver en funktion för att kunna ändra en variabel , i stället för att passera variabelns värde . Detta låter funktion använder dereferencing att ändra värdet :

     void convert_color_to_RGB ( int color , int * red , int * grön , int * blue ) { * röd = redpart ( färg ) , * Grön = greenpart ( färg ) ; * blå = bluepart ( färg ) ;} convert_color_to_RGB ( 15 , & myred , & mygreen , & MyBlue ) , 
    7

    arbete runt C: s gränser . När du vill skicka en array eller struktur i en funktion , måste du skicka en pekare i stället , eftersom C endast tillåter enstaka datatyper som ska skickas till funktioner :

     int Delsumma ( int * tjog , int howmany ) { int totalt = 0 , i , for (i = 0 ; jag tillbaka totalt; } 
    8

    Skapa en loop Eftersom strängar är faktiskt arrayer av tecken , kan du skapa en pekare till en karaktär att loopa igenom en sträng : . < pre > void replace_character ( char * s , röding från , röding till ) { char * cp , för ( cp = s , cp && * cp , cp + + ) if ( * cp == från ) * cp = till ; }

    9

    förstå hur C Visningar arrayer. arrayer hanteras av C som pekare , med pekararitmetik . C kommer automatiskt att föröka vad du lägger till en pekare av storleken på elementen den pekar på . det betyder

     poäng [ 5 ] = 17 ; är exakt samma som 
     * ( poäng + 5 ) = 17 ; . . Du kan använda pekare som en förkortning för array dereferences till exempel , 
     * poäng = 17 , alltid hänvisar till 0: e elementet i arrayen . 

    Tidigare:

    nästa:
    relaterade artiklar
    ·Hur man beräknar tid i C i Linux
    ·Hur Bubble Sort i C
    ·Hur man skapar ett porträtt i C + +
    ·Hur man skapar en IRC Spybot
    ·Hur man hanterar Browser Stäng Evenemang i C
    ·Vilka är de fyra olika arvsrelation
    ·Hur dela Variabler hela CPP
    ·Typer av attacker buffertöverskridning
    ·Lägga till en startsida till en webbläsare i C #
    ·Hur konvertera en STD sträng till ett heltal
    Utvalda artiklarna
    ·Hur man skapar en WAR-fil med Eclipse
    ·Hur Override en statisk metod i Java
    ·Hur att skapa en buffert i Python
    ·Hur man gör en genväg för en burk i VBS
    ·Så att köra Python -filer i Python Shell
    ·Lägga till ODBC till VB.Net Express
    ·Hur konvertera ett tal till ett datum i VB
    ·Hur att öka DOS Variabelvärde
    ·Computer Engineering Design Projekt
    ·Joomla Analytics Hjälp
    Copyright © Dator Kunskap http://www.dator.xyz