Verbindung Zwischen Arrays und Zeigern
Swipe um das Menü anzuzeigen
Arrays und Zeiger sind eng miteinander verbunden. Der Name eines Arrays kann als Zeiger auf das erste Element behandelt werden.
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 werden typischerweise durch Anordnung der Elemente in zusammenhängenden Speicherblöcken gebildet, wobei jedes Element in aufeinanderfolgenden Speicheradressen gespeichert wird. Dies ermöglicht die Anwendung von Zeigerarithmetik, um auf jedes beliebige Element im Array zuzugreifen.
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; }
Tatsächlich führt der Compiler diese Operation automatisch aus. Er übersetzt Array-Klammern in den Dereferenzierungsoperator mit Zeigerarithmetik unter Verwendung des Array-Namens. Dies bedeutet, dass die Reihenfolge geändert werden kann, sodass der Index außerhalb der Klammern und der Array-Name innerhalb der Klammern stehen kann (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; }
Zur Klarheit sollte die konventionelle Syntax verwendet werden, da diese Form Leser ohne Vorkenntnisse verwirren kann.
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen