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 ordna element i sammanhängande minnesblock, där varje element lagras i på varandra följande minnesplatser. Detta möjliggör användning av pekararitmetik 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 hakparenteser till dereferensoperatorn med pekararitmetik tillsammans med arraynamnet. Detta innebär att ordningen kan ändras, vilket gör det möjligt att placera indexet utanför hakparenteserna medan arraynamnet förblir inuti hakparenteserna (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