Osoitintaulukot ja funktio-osoittimet
Ymmärrätte osoitintaulukoiden käsitteen ja funktio-osoittimien käytön takaisinkutsuihin sekä ohjelmien tehokkaaseen suorittamiseen.
Osoitintaulukot ja funktio-osoittimet on ilmainen C Academy-oppitunti CoddyKitissä. Tämä on oppitunti 3/3. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu C Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. C Academy-kurssilla on yhteensä 3 oppituntia.
Osoitintaulukot ja funktio-osoittimet
Osoittimia voidaan käyttää taulukoissa useiden muistiosoitteiden tallentamiseen, ja funktio-osoittimien avulla funktioita voidaan välittää argumentteina.
Tässä oppitunnissa opitte:
- Kuinka osoitintaulukot määritellään ja niitä käytetään.
- Kuinka funktio-osoittimet toimivat.
- Kuinka funktio-osoittimia käytetään callback-funktioissa.

Mikä on osoitintaulukko?
Osoitintaulukko on taulukko, jonka jokainen alkio on osoitin.
Esimerkki:
int *arr[5];
Tähän taulukkoon voidaan tallentaa viisi kokonaislukumuuttujaan osoittavaa osoitinta.
Esimerkki: osoitintaulukko
Tämä ohjelma havainnollistaa osoitintaulukon käyttöä.
#include <stdio.h>
int main() {
int a = 10, b = 20, c = 30;
int *arr[3] = {&a, &b, &c};
for (int i = 0; i < 3; i++) {
printf("Value: %d\n", *arr[i]);
}
return 0;
}Mikä on funktio-osoitin?
Funktio-osoitin tallentaa funktion osoitteen ja mahdollistaa funktion kutsumisen dynaamisesti.
Määrittelyesimerkki:
int (*funcPtr)(int, int);
Tämä määrittelee osoittimen funktioon, joka ottaa kaksi kokonaislukua ja palauttaa kokonaisluvun.
Esimerkki: funktio-osoitin
Tämä ohjelma havainnollistaa, kuinka funktio-osoitinta käytetään.
#include <stdio.h>
int add(int a, int b) {
return a + b;
}
int main() {
int (*funcPtr)(int, int) = add;
printf("Sum: %d\n", funcPtr(5, 10));
return 0;
}Funktio-osoittimen välittäminen toiselle funktiolle
Funktio-osoittimia voidaan välittää argumentteina.
Esimerkki:
void execute(int (*operation)(int, int)) { }
Tämä funktio ottaa parametrikseen funktio-osoittimen.
Esimerkki: funktio-osoittimen välittäminen argumenttina
Tämä ohjelma havainnollistaa, kuinka funktio-osoitin välitetään parametrina.
#include <stdio.h>
int multiply(int a, int b) {
return a * b;
}
void execute(int (*operation)(int, int), int x, int y) {
printf("Result: %d\n", operation(x, y));
}
int main() {
execute(multiply, 4, 5);
return 0;
}Funktio-osoittimien käyttötapaukset
Funktio-osoittimia käytetään seuraaviin tarkoituksiin:
- Callback-funktioihin tapahtumapohjaisessa ohjelmoinnissa.
- Lajittelufunktioihin (esimerkiksi
qsort()). - Tilakoneiden toteuttamiseen.
Yhteenveto
Tässä oppitunnissa opitte:
- Kuinka osoitintaulukoita käytetään.
- Kuinka funktio-osoittimet määritellään ja niitä käytetään.
- Kuinka funktio-osoittimia välitetään argumentteina.
Seuraavaksi tutustumme C-kielen rakenteisiin, unioneihin ja enumeraatioihin!

Opi C tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 39
- Oppitunnit
- 144
Usein kysytyt kysymykset
Onko oppitunti ”Osoitintaulukot ja funktio-osoittimet” ilmainen?
Kyllä – oppitunnin ”Osoitintaulukot ja funktio-osoittimet” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko C Academy-kurssin, päivitä CoddyKit PROhon. C Academy-kurssilla on yhteensä 3 oppituntia.
Mitä opin oppitunnilla ”Osoitintaulukot ja funktio-osoittimet”?
Ymmärrätte osoitintaulukoiden käsitteen ja funktio-osoittimien käytön takaisinkutsuihin sekä ohjelmien tehokkaaseen suorittamiseen. Harjoittelet C Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni C Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin C Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 3/3.
Kuinka kauan ”Osoitintaulukot ja funktio-osoittimet”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä C Academy-oppitunnilla?
Kyllä. Jokainen C Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Johdatus osoittimiin
- Dynaaminen muistinvaraus
- Osoitintaulukot ja funktio-osoittimet