Welkom op de Nederland Computer Kennisnetwerk!  
 
Zoeken computer kennis
Home Hardware Netwerken Programmering Software Computerstoring Besturingssysteem
Computer Kennis >> Programmering >> C /C + + Programming >> Content
Wat is een pointer in C ?
Een van de functies die C maakt zo'n krachtige programmeertaal is de mogelijkheid voor programmeurs om toegang te krijgen tot het geheugen direct met pointers . Pointers worden veel gebruikt voor de behandeling van C arrays , manipuleren tekenreeksen , langs de functies en parameters maken gelinkte lijsten en andere complexe gegevensstructuren . Pointers zijn een van de grootste bronnen van verwarring voor programmeurs nieuw voor de C taal . Begrijpen en gebruiken van pointers is cruciaal voor effectieve C programmeren .
Pointer wijzer : zorg op te ruimen !
Functie

Een pointer object , of eenvoudig pointer is een variabele die een geheugenadres van een object , zoals een struct of float , of een array van objecten , is bevat opgeslagen . Met dat geheugen -adres , kan de programmeur lezen , wijzigen en verplaatsen door het geheugen met behulp van een pointer .
Voordelen

Functies
dat een pointer naar een externe object doorgegeven als een parameter kan dat object wijzigen . Wanneer de functie verlaat , wordt de nieuwe waarde toegewezen aan die object bestaan ​​. Een functie kan meerdere pointers nemen , waardoor een functie meerdere objecten te wijzigen met een enkele functie oproep .

Pointer kan gebruikt worden om systematisch of willekeurig navigeren door een reeks elementen met behulp van matrix notatie , iteratie of basismath . Gebruik van pointers om toegang array is sneller dan de meer ingewikkelde implementaties van vergelijkbare functionaliteit die in andere talen . Terwijl dergelijke implementaties zijn vaak gemakkelijker te gebruiken en fouten te voorkomen , is er extra overhead die de prestaties beïnvloedt .
Belang

De mogelijkheid om willekeurige hoeveelheden heapgeheugen tijdens dynamisch toewijzen runtime is een techniek genaamd " dynamisch toewijzen van geheugen . " Veel eerder talen , zoals Fortran , vereist de hoeveelheid geheugen toegewezen voor structuren zoals arrays tijdens het compileren te stellen , en de hoeveelheid geheugen toegewezen kan niet tijdens de uitvoering van het programma worden gewijzigd . Pointers worden gebruikt in C om het adres van dynamisch toegewezen geheugen te houden .
Gebruik

Een pointer wordt verklaard door het plaatsen van een ster ( * ) tussen de naam van het type en de variabele naam .

de waarde van een object in het geheugen op het adres in het bezit van de aanwijzer wordt geopend door " dereferentie " de aanwijzer . . Dereferentie een pointer wordt gedaan door een sterretje ( * ) voor de naam aanwijzer

Bij het hanteren van pointers naar structs , wordt een lid van de struct verwezen door middel van een pijl ( - > ) tussen de naam en de aanwijzer het lid naam .

het adres van een object kan worden benaderd door het plaatsen van een ampersand ( & ) vóór variabele naam van het object . Passeren adres van een object naar een functie heet "pass door verwijzing . " De parameter wordt aangegeven als een pointer in de functie prototype . De functie dereferences de parameter om de waarde ervan te wijzigen , en de waarde zal blijven bestaan ​​als de functie verlaat .

Arrays
worden gecreëerd door de verdeling van de hoeveelheid geheugen die nodig is om het gewenste aantal objecten van een bepaald type te houden . Dit wordt bereikt tijdens of na de verklaring met pointer notatie en malloc of calloc , of tijdens de aangifte met behulp van array- notatie . Elementen van een array kan worden benaderd met behulp van index verwijzing notatie of door het itereren de array pointer. Iteratie automatisch verhoogt of verlaagt de toespraak van de omvang van een individueel element , zodat de wijzer correct gepositioneerd aan het begin van het volgende of vorige element .
Waarschuwing

Memory
toewijzing en vrijmaken wordt beheerd door de programmeur . Geheugen dat is toegewezen worden deallocated wanneer deze niet meer nodig . Niet om het geheugen vrijgeven voorkomt dat het wordt gebruikt totdat de applicatie verlaat . Een " geheugenlek " treedt op wanneer een verwijzing naar de toegewezen geheugen is verloren zonder eerst het geheugen vrijmaken . Geheugenlekken kan gebeuren als een pointer wordt toegewezen , of een functie verlaten zonder delegeren eigendom van de toegewezen geheugen .

Toegang tot het geheugen na het einde van de toegewezen geheugen is een veel voorkomende fout bij het werken met arrays . Deze fout wordt genoemd met een " matrix index out of bounds . " Dit kan ertoe leiden dat de aanvraag om verkeerd te gedragen of te verlaten onverwacht .

Previous: Next:
  C /C + + Programming
·Hoe de strncpy functie in gebr…
·Hoe een String Draw , vierkant…
·Hoe maak je een Float converte…
·Hoe te Sin berekenen Met Power…
·Hoe de Scanf Command in gebrui…
·Hoe u de standaard waarde voor…
·Hoe te Functie Pointers Gebrui…
·Wat is Microsoft Visual Studio…
·Hoe maak je een verticale graf…
  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 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 maak je Voeg een tekstvak in Visual …
Hoe maak je een Picture Box in Visual Ba…
  Programmering Articles
·Hoe te Strings Split in JavaScript 
·Verschil tussen opnemen en uitbreiden in…
·Problemen met Java 
·Hoe maak ik een Range Date Met behulp va…
·Hoe maak je een VBA wachtwoord wijzigen 
·Hoe te controleren of een tekstvak Input…
·Hoe te tijdstempel aan MySQL PHP 
·Hoe maak je een data Gridview in Vbnet S…
·Hoe te werkmappen sluiten in VBA 
Copyright © Computer Kennis http://www.nldit.com