Taulukoiden ja Osoittimien Yhteys
Pyyhkäise näyttääksesi valikon
Taulukot ja osoittimet ovat tiiviisti yhteydessä toisiinsa. Taulukon nimi voidaan käsitellä osoittimena sen ensimmäiseen alkioon.
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); }
Taulukot muodostetaan yleensä järjestämällä alkiot peräkkäisiin muistilohkoihin, jolloin jokainen alkio sijaitsee peräkkäisissä muistipaikoissa. Tämä mahdollistaa osoitinaritmetiikan käytön minkä tahansa taulukon alkion käsittelemiseksi.
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; }
Itse asiassa kääntäjä suorittaa tämän operaation automaattisesti. Se muuntaa taulukon hakasulkeet osoittimen arvoon viittaavaksi operaattoriksi ja osoitinaritmetiikaksi taulukon nimen kanssa. Tämä tarkoittaa, että järjestystä voidaan muuttaa, jolloin indeksi voidaan sijoittaa hakasulkeiden ulkopuolelle ja taulukon nimi hakasulkeiden sisälle (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; }
Pidä kiinni tavanomaisesta syntaksista selkeyden vuoksi, tämä muoto voi hämmentää kokemattomia lukijoita.
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme