Sambandet Mellan Arrayer och Pekare
Svep för att visa menyn
Arrayer och pekare är nära sammankopplade. Namnet på en array kan behandlas som en pekare till dess första 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); }
Arrayer bildas vanligtvis genom att placera element i sammanhängande minnesblock, där varje element lagras i efterföljande minnesadresser. Detta möjliggör användning av pekarearitmetik för att komma åt valfritt element i arrayen.
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; }
Faktum är att kompilatorn automatiskt utför denna operation. Den översätter arrayklamrar till dereferensoperatorn med pekararitmetik tillsammans med arraynamnet. Detta innebär att ordningen kan ändras, vilket tillåter att indexet placeras utanför klamrarna medan arraynamnet förblir inuti klamrarna (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; }
Håll dig till konventionell syntax för tydlighet, denna form kan förvirra ovana läsare.
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal