Welkom op de Nederland Computer Kennisnetwerk!  
 
Zoeken computer kennis
Home Hardware Netwerken Programmering Software Computerstoring Besturingssysteem
Computer Kennis >> Programmering >> C /C + + Programming >> Content
Hoe doen Dynamic Storage Verdeling C
In veel gevallen , bepaalt de gebruiker de vlucht of een programma een reeks van 10 elementen of 10.000 verwerken . Omdat de array size is niet tevoren bekend is , moet je opzij te zetten geheugen en laat het los terwijl het programma loopt . Dit geheugen beheer tijdens runtime is in de informatica bekend als dynamisch toewijzen van geheugen . Dit artikel richt zich op de functies gewijd aan dynamisch geheugen toewijzing in C. Wat je nodig hebt
Integrated Development Environment met C + + Compiler
Boek over C programmeren
Toon Meer Instructions
1

Neem de bibliotheek bestand met de standaard bibliotheek definities . Dit is de " stdlib.h " bestand en het bevat , onder andere belangrijke C functies , alle functies die dynamisch geheugen toewijzing uit te voeren . Om deze bibliotheek bestand in uw programma op te nemen , plaatst u de volgende lijn aan de bovenkant van je bron /header file
Voorbeeld : . Beelden # omvatten Pagina 2

Bepaal wat je wilt doen . Kies dan de functie van de volgende stappen die de actie geheugen - toewijzing die u wilt uitvoeren beste past .

Gebruik malloc ( 3 ) voor een geheugenblok van bekende grootte . " Malloc " kent "grootte " bytes en keert terug een pointer naar het begin van het blok
Prototype :
void * malloc ( size_t grootte) ;
Voorbeeld : .
Int i ;
char * buf ; printf ( " Voer tekst lengte : " ) ;
scanf ( " % d " , & i ) ;
buf = ( char * ) malloc ( i +1 ) ;
if ( NULL == buf ) exit ( 1 ) ; Twitter //etc

Employ calloc ( ) voor een serie van elementen waarin elk element heeft een grootte van meer dan een byte 4 . " Calloc " kent een brok van geheugen voor " num " elementen elk element zijn " grootte" bytes lang . Het geeft een pointer naar het begin van het blok
Prototype :
void * calloc ( size_t num, size_t grootte) ;

Voorbeeld
: .
Int i , n ; < br > int * Parr ;
printf ( "Geef aantal gehele getallen : " ) ;
scanf ( " % d " , & i ) ;
n = sizeof ( int ) ;
Parr = ( int * ) calloc ( i , n ) ;
if ( NULL == Parr ) exit ( 1 ) ; Twitter //etc
5

Gebruik realloc ( ) om de grootte van een geheugen blok wijzigen . " Realloc " uitbreidt of verkleint het geheugen blok van " grootte" bytes dat " ptr " wees naar
Prototype :
oid * realloc (void * ptr , size_t grootte) ;
Voorbeeld : .
Int num1 , num2 ;
int * arr = NULL ;
doen {
printf ( " Voer een positief geheel getal : " ) ;
scanf ( " % d " , & num1 ) ;
terwijl ( 1 > num1 ) ;
arr = ( int * ) calloc ( num1 , sizeof ( int ) ) ;
if ( NULL == arr ) exit ( 1 ) ;
doen {
printf ( " Voer een positief geheel getal : " ) ;
scanf ( " % d " , & num2 ) ;
terwijl ( 1 > num2 ) ;
arr = ( int * ) realloc ( arr , num2 * sizeof ( int ) ) ;
if ( NULL == arr ) exit ( 1 ) ; Twitter //etc

release een blok van het geheugen in de stappen 3 tot 5 toegekend met behulp van gratis ( ) 6 . " Gratis " geeft de geheugenblok dat begint bij geheugenlocatie die " ptr " wees naar
Prototype :
holtevrij (void * ptr ) ;
Voorbeeld : .
Int * buf ;
buf = ( int * ) malloc ( 100 * sizeof ( int ) ) ; free ( buf ) ; Twitter //etc

Previous: Next:
  C /C + + Programming
·Een DLL toevoegen aan een CPP …
·Hoe te Remainder Zoek op C 
·Hoe om te achterhalen wat C fu…
·Hoe te Sin berekenen Met Power…
·Hoe maak je een zin Bewaren in…
·Hoe de Soorten Input Validatio…
·Hoe maak je een Input converte…
·Hoe doen Dynamic Storage Verde…
·Hoe om bestanden te maken in M…
  Related Articles
Hoe maak je een Combo Box Maak in Visual…
Hoe maak je een Check Box Maak in Visual…
Hoe maak je een tekstvak maken in Visual…
Hoe maak je een optie Box in Visual Basi…
Hoe maak je een schijf keuzelijst in Vis…
Hoe kan ik een keuzelijst maken in Visua…
Hoe kan ik een Picture Box Maak in Visua…
Hoe een bestand keuzelijst Maak in Visua…
Hoe kan ik een afbeelding Box Maak in Vi…
  Programmering Articles
·Hoe je Java-applets te bouwen in Binary 
·Hoe te converteren naar MySQL SQLite 
·Java Projecten Met Coding 
·Hoe kan ik een . Resx File Gebruik in Vb…
·Verschil tussen onbeforeunload & onunloa…
·Een PHP script om een back-up van een My…
·PHP Syntax Error : Onverwachte T String 
·Hoe SQL embedden in RPG 's 
·Hoe om code te schrijven voor de iPhone 
Copyright © Computer Kennis http://www.nldit.com