| Hjem | Hardware | Netværk | Programmering | software | Fejlfinding | systemer | 
Programmering  
  • C /C + + Programming
  • Computer Programmeringssprog
  • Delphi programmering
  • Java programmering
  • JavaScript Programmering
  • PHP /MySQL programmering
  • Perl programmering
  • Python Programming
  • Ruby Programming
  • Visual Basics Programmering
  •  
    Computer Viden >> Programmering >> C /C + + Programming >> Content
    Hvordan man gør Dynamic lagerallokering i C
    I mange tilfælde bestemmer brugeren på flue , om et program vil behandle en vifte af 10 elementer eller 10.000 . Fordi array-størrelse er ukendt på forhånd , er du nødt til at afsætte hukommelse og slip den under udførelsen af ​​programmet . Denne hukommelse forvaltning i runtime er kendt i datalogi så dynamisk allokering af hukommelse . Denne artikel fokuserer på de funktioner, dedikeret til dynamisk allokering af hukommelse i C. Ting du skal
    Integrated Development Environment med C + + Compiler
    bog om C programmering
    Vis Flere Instruktioner
    1

    Medtag biblioteket fil med standard bibliotek definitioner. Dette er " stdlib.h " fil, og det omfatter blandt andre vigtige C- funktioner , alle funktioner, der udfører dynamisk allokering af hukommelse . At medtage denne biblioteksfil i dit program , skal du indsætte følgende linje i toppen af ​​din kilde /header fil
    Eksempel: .
    # Include
    2

    Beslut hvad du vil gøre. Derefter vælge funktionen fra de følgende trin , der bedst passer til memory - allokering handling, du vil udføre.
    3

    Brug malloc () for en hukommelse blok af kendt størrelse . " Malloc " allokerer "størrelse " bytes og returnerer en pointer til begyndelsen af blokken
    Prototype : Hej void * malloc ( size_t størrelse ),
    Eksempel: .
    Int i ;
    char * buf ; printf ("Indtast snorlængde :");
    scanf ("% d " , & i)
    buf = ( char * ) malloc ( i +1 ),
    if ( NULL == bUF) exit (1), Twitter //etc
    4

    Ansæt calloc ( ) for en bred vifte af elementer, hvor hvert element har en størrelse på mere end en byte . " Calloc " tildeler en luns af hukommelse for " num " elementer hvert element er "størrelse" bytes i længden. Den returnerer en pointer til begyndelsen af blokken
    Prototype : Hej void * calloc ( size_t num , size_t størrelse ),

    Eksempel: .
    Int i , n ; < br > int * parr
    printf (" Indtast antal heltal :");
    scanf ("% d " , & i)
    n = sizeof ( int ),
    Parr = ( int * ) calloc (i , n ),
    if ( NULL == Parr ) exit (1), Twitter //etc
    5

    Udnyt realloc () for at ændre størrelsen på en hukommelse blok. " Realloc " Udvider eller reducerer memory blok af "størrelse" byte at " ptr " pegede på
    Prototype : Hej OID * realloc (void * ptr , size_t størrelse ),
    Eksempel: .
    Int num1 , num2 ,
    int * arr = NULL ;
    gør {
    printf ("Indtast et positivt heltal :");
    scanf ("% d " , & num1 ),
    while ( 1> num1 )
    arr = ( int * ) calloc ( num1 , sizeof ( int )),
    if ( NULL == arr ) exit (1),
    do {
    printf (" Indtast et andet positivt heltal : ");
    scanf ("% d " , & num2 ),
    mens (1 > num2 )
    arr = ( int * ) realloc ( arr , num2 * sizeof ( int ) ),
    if ( NULL == arr ) exit (1), Twitter //etc
    6

    Frigive en blok af hukommelse allokeret i trin 3 til 5 ved hjælp af gratis (). "Fri" frigiver hukommelse blok, der starter ved hukommelsesplacering, " ptr " pegede på
    Prototype : Hej void gratis ( void * ptr )
    Eksempel: .
    Int * buf ;
    buf = ( int * ) malloc (100 * sizeof ( int )),
    gratis (BUF ), Twitter //etc

    Forrige :

    næste :
      Relaterede artikler
    ·Visning af et PGM Picture Box på C + + 
    ·Sådan Lær Turbo C 
    ·Sådan Skriv din egen Computerspilprogram 
    ·Sådan Konverter Int32 i C + + 
    ·C kode til en Bits til Byte Conversion 
    ·Hvordan at sende en SMS Socket i UDP på Linux 
    ·Hvordan laver Cin.Fail 
    ·Sådan ændres AppDelegate i en iPhone 
    ·Fakta om CPP Compiler 
    ·Sådan Konverter til Hex Brug C + + 
      Anbefalede Artikler
    ·Hvad Er Egenskab Nøgler 
    ·Hvordan at tilføje GMP til Xcode 
    ·Sådan læses en enkelt linje med kommaer fra Visual Ba…
    ·Visual Basic Tutorial på Eval Method 
    ·Sådan får VB.NET at logge ind på en server AMD Downl…
    ·Sådan oprettes en vokal Optælling Anvendelse i Visual…
    ·Java Spring Vs . Struts 
    ·Sådan kører DOS-kommandoer i VB.Net 
    ·Sådan læses en String i C 
    ·Hvordan at slippe af Error.Jsp 
    Copyright © Computer Viden http://www.computerdk.com