C Academy · Oppitunti

Makrot ja inline-funktiot

Tutustutte makromäärittelyihin ja niiden etuihin funktioihin verrattuna.

Oppitunti 2/310 vaihetta

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ä.
Makrot ja inline-funktiot — kuvitus 1

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!

Makrot ja inline-funktiot — kuvitus 10
Aloita maksutta

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

  1. C-esikääntäjän ymmärtäminen
  2. Makrot ja inline-funktiot
  3. Ehdollinen kääntäminen
← Takaisin: C Academy