Forbindelsen Mellem Arrays og Pointere
Stryg for at vise menuen
Arrays og pointere er tæt forbundet. Navnet på et array kan behandles som en pointer til dets første element.
main.cpp
12345678#include <iostream> int main() { int arr[5] { 12, 21, 27, 10, 11 }; // Using dereference operator (`*`) to access the value std::cout << *(arr); }
Arrays dannes typisk ved at arrangere elementer i sammenhængende hukommelsesblokke, hvor hvert element er lagret i fortløbende hukommelsesplaceringer. Dette muliggør anvendelsen af pointeraritmetik til at få adgang til ethvert element i arrayet.
main.cpp
12345678#include <iostream> int main() { float arr[5] { 2.7, 9.9, 1.0, 0.3, 2.2 }; std::cout << arr[3] << std::endl; std::cout << *(arr + 3) << std::endl; }
Faktisk udfører compileren automatisk denne operation. Den oversætter array-parenteser til dereference-operatoren med pointeraritmetik sammen med array-navnet. Dette betyder, at rækkefølgen kan ændres, hvilket tillader, at indekset placeres uden for parenteserne, mens array-navnet forbliver inde i parenteserne (index[array_name]).
main.cpp
1234567#include <iostream> int main() { float arr[5] { 2.7, 9.9, 1.0, 0.3, 2.2 }; std::cout << 3[arr] << std::endl; }
Brug konventionel syntaks for tydelighed, da denne form kan forvirre læsere, der ikke er bekendt med den.
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat