Makron och inline-funktioner
Utforska makrodefinitioner och deras fördelar jämfört med funktioner.
Makron och inline-funktioner är en gratis lektion i C Academy på CoddyKit. Detta är lektion 2 av 3. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för C Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i C Academy innehåller totalt 3 lektioner.
Introduktion till makron
Makron och inline-funktioner
Makron och inline-funktioner hjälper till att optimera koden genom att minska kostnaden för funktionsanrop.
I den här lektionen lär du dig:
- Hur du definierar och använder makron.
- Fördelarna med inline-funktioner jämfört med makron.
- Hur makron och inline-funktioner förbättrar prestandan.

Vad är ett makro?
Ett makro är ett preprocessordirektiv som ersätter kod före kompileringen.
Exempel:
#define SQUARE(x) (x * x)
Nu ersätts SQUARE(5) med (5 * 5) under kompileringen.
Exempel: använda makron
Det här programmet demonstrerar hur du använder ett makro för beräkningar.
#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;
}Begränsningar hos makron
Makron utför ingen typkontroll och kan orsaka oväntade resultat.
Exempel på problem:
#define MULTIPLY(x, y) x * y
Anropet MULTIPLY(2 + 3, 4) expanderas till 2 + 3 * 4, vilket leder till felaktiga resultat.
Introduktion till inline-funktioner
Inline-funktioner är ett alternativ till makron och bevarar samtidigt typsäkerheten.
Syntax:
inline int square(int x) { return x * x; }
De minskar kostnaden för funktionsanrop, men säkerställer korrekt typkontroll.
Exempel: använda inline-funktioner
Det här programmet demonstrerar en inline-funktion som ersätter ett makro.
#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;
}Fördelar med inline-funktioner
Inline-funktioner har flera fördelar jämfört med makron:
- Typsäkerhet.
- Bättre felsökning (de visas i stackspårningar).
- Inga oväntade expansionsfel.
När ska du använda makron respektive inline-funktioner?
Använd makron när du:
- Definierar enkla konstanter.
- Utför mindre textersättningar.
Använd inline-funktioner när du:
- Utför komplexa operationer.
- Säkerställer typsäkerhet.
Sammanfattning
I den här lektionen lärde du dig:
- Hur du definierar och använder makron.
- Makronas begränsningar.
- Hur inline-funktioner erbjuder ett säkrare alternativ.
Härnäst utforskar vi villkorsstyrd kompilering!

Lär dig C med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 39
- Lektioner
- 144
Vanliga frågor
Är lektionen ”Makron och inline-funktioner” gratis?
Ja – hela texten till ”Makron och inline-funktioner” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i C Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i C Academy innehåller totalt 3 lektioner.
Vad lär jag mig i ”Makron och inline-funktioner”?
Utforska makrodefinitioner och deras fördelar jämfört med funktioner. Ni övar på C Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig C Academy?
Du behöver inga förkunskaper. Utbildningen i C Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 3.
Hur lång tid tar lektionen ”Makron och inline-funktioner”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här C Academy-lektionen?
Ja. Varje C Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Förstå C-förprocessorn
- Makron och inline-funktioner
- Villkorsstyrd kompilering