Den C og C + + programmeringssprog er to af et par, der stadig er stærkt afhængige af indirekte adgang til hukommelsen . Det er konceptet , at en hukommelsesvariabel kan holde placeringen af en anden hukommelsesvariabel - og denne variabel er kendt som en pegepind . Selv om dette lyder forvirrende , er det et kraftfuldt værktøj bruges til at implementere arrays , hægtede lister , træer og andre datastrukturer . Her er en kort introduktion til pointere og arrays . Ting du skal
C + + sproget, såsom Visual C + + Express, Visual Studio og C + + Builder
Vis Flere Instruktioner
1
Opret en ny C + + -program. Ved hjælp af Visual Studio 2010 Windows konsol program skabelon, vil koden starter sådan her : Hej
# include " stdafx.h "
int _tmain ( int argc , _TCHAR * argv [])
{
Indtast den resterende kode i programmet, da det ser ud i hele fortællingen nedenfor.
2
Oprette og udskrive en ny tegnstreng pointer som følger.
< p> char * c = "Hello" ,
printf ( "% s \\ n ", c ),
stjerne (* ), før den variable c angiver, at dette er en pointer variabel . Variabel c indeholder hukommelsesplads , hvor tekststrengen " Hello " blev gemt af compiler. Den printf funktionen bruger markøren c for at lokalisere denne streng og vise det til konsollen.
3
Tilføj et nyt array af heltal i hukommelsen.
Int * n = new int [ 5]
en ny pointer n er erklæret til at pege på et heltal array. Den nye funktion skaber en ny vifte af fem heltal og placeringen af denne array er gemt i markøren p .
4
Læg array med tallene 1 til 5 ved hjælp af en anden pointer at bevæge sig gennem . matrix
int * p = n ;
int i;
for (i = 1, i < 6 , i + +)
{ * p = i;
p + +;
}
pointer p er erklæret , og indstillet til den samme værdi som n , begyndelsen af array . Som løkken gentager fem gange , placering i hukommelsen peget på af p modtager værdien af tælleren , hvorefter markøren inkrementeres , flytter til det næste element i matrixen . Bemærk, at p + + erklæring intervaller pointer p ved størrelsen af heltal , der flytter til hver celle af matrixen.
5
vise værdierne i matrixen til konsollen ved hjælp af et indeks i array . < br >
for (i = 0; i < 5; i + +)
{ printf (" % d \\ n" , n [i ])
}
< p> Igen programmet sløjfer fem gange, hver gang ved hjælp af printf funktion til at sende indholdet af lagerpladser pegede med n [i] til konsollen. Denne gang programmet bruger indekset notation sammen med markøren at bevæge sig gennem array. I C + +, arrays er nul -baseret, så modtræk fra 0 til 4
6
Afslut programmet
delete n. . .
Tilbagevenden 0;
}
Fjern array fra hukommelsen ved hjælp af funktionen Slet . I C + +, skal nogen hukommelse tildelt af nye slettes for at undgå memory leaks . Endelig tilbage 0 for at angive , at programmet er fuldført .