Makrot ja inline-funktiot
Tutustutte makromäärittelyihin ja niiden etuihin funktioihin verrattuna.
Makrot ja inline-funktiot on ilmainen C Academy-oppitunti CoddyKitissä. Tämä on oppitunti 2/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.
Johdatus makroihin
Makrot ja inline-funktiot
Makrot ja inline-funktiot tehostavat koodia vähentämällä funktiokutsujen aiheuttamaa yleiskustannusta.
Tässä oppitunnissa opitte:
- Kuinka makroja määritetään ja käytetään.
- Mitä etuja inline-funktioilla on makroihin verrattuna.
- Kuinka makrot ja inline-funktiot parantavat suorituskykyä.

Mikä makro on?
Makro on esikääntäjädirektiivi, joka korvaa koodia ennen käännöstä.
Esimerkki:
#define SQUARE(x) (x * x)
Nyt SQUARE(5) korvataan käännöksen aikana muodolla (5 * 5).
Esimerkki: makrojen käyttäminen
Tämä ohjelma havainnollistaa makron käyttöä laskutoimituksiin.
#include <stdio.h>
#define SQUARE(x) (x * x)
int main() {
int num = 4;
printf("Square of %d is %d\n", num, SQUARE(num));
return 0;
}Makrojen rajoitukset
Makrot eivät tarkista tyyppejä, ja ne voivat aiheuttaa odottamattomia tuloksia.
Esimerkki ongelmasta:
#define MULTIPLY(x, y) x * y
Kutsu MULTIPLY(2 + 3, 4) laajennetaan muotoon 2 + 3 * 4, mikä johtaa virheelliseen tulokseen.
Johdatus inline-funktioihin
Inline-funktiot tarjoavat makroille vaihtoehdon ja säilyttävät samalla tyyppiturvallisuuden.
Syntaksi:
inline int square(int x) { return x * x; }
Ne vähentävät funktiokutsujen aiheuttamaa yleiskustannusta ja varmistavat samalla asianmukaisen tyyppitarkistuksen.
Esimerkki: inline-funktioiden käyttäminen
Tämä ohjelma havainnollistaa makron korvaamista inline-funktiolla.
#include <stdio.h>
inline int square(int x) { return x * x; }
int main() {
int num = 4;
printf("Square of %d is %d\n", num, square(num));
return 0;
}Inline-funktioiden edut
Inline-funktiot tarjoavat makroihin verrattuna useita etuja:
- Tyyppiturvallisuus.
- Parempi virheenkorjaus (ne näkyvät pinon jäljityksissä).
- Ei odottamattomia laajennusvirheitä.
Milloin makroja ja inline-funktioita käytetään
Käyttäkää makroja, kun:
- Määritätte yksinkertaisia vakioita.
- Teette pieniä tekstikorvauksia.
Käyttäkää inline-funktioita, kun:
- Suoritatte monimutkaisia toimintoja.
- Varmistatte tyyppiturvallisuuden.
Yhteenveto
Tässä oppitunnissa opitte:
- Kuinka makroja määritetään ja käytetään.
- Mitkä ovat makrojen rajoitukset.
- Kuinka inline-funktiot tarjoavat turvallisemman vaihtoehdon.
Seuraavaksi tutustumme ehdolliseen käännökseen!

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 ”Makrot ja inline-funktiot” ilmainen?
Kyllä – oppitunnin ”Makrot ja inline-funktiot” 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 ”Makrot ja inline-funktiot”?
Tutustutte makromäärittelyihin ja niiden etuihin funktioihin verrattuna. 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 2/3.
Kuinka kauan ”Makrot ja inline-funktiot”-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
- C-esikääntäjän ymmärtäminen
- Makrot ja inline-funktiot
- Ehdollinen kääntäminen