Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Taulukoiden ja Osoittimien Yhteys | Osoitinlaskenta
C++-Osoittimet ja Viittaukset

bookTaulukoiden 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

main.cpp

copy
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

main.cpp

copy
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

main.cpp

copy
1234567
#include <iostream> int main() { float arr[5] { 2.7, 9.9, 1.0, 0.3, 2.2 }; std::cout << 3[arr] << std::endl; }
Note
Huomio

Pidä kiinni tavanomaisesta syntaksista selkeyden vuoksi, tämä muoto voi hämmentää kokemattomia lukijoita.

question mark

Mikä on taulukoiden ja osoittimien välinen yhteys?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 3

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Osio 2. Luku 3
some-alt