C Academy · Lektion

Pekararrayer och funktionspekare

Förstå begreppet arrayer av pekare och hur funktionspekare används för callbacks och effektiv programexekvering.

Lektion 3 av 310 steg

Pekararrayer och funktionspekare är en gratis lektion i C Academy på CoddyKit. Detta är lektion 3 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.

Pekararrayer och funktionspekare

Pekare kan användas i arrayer för att lagra flera minnesadresser, och med funktionspekare kan funktioner skickas som argument.

I den här lektionen lär du dig:

  • Hur du deklarerar och använder pekararrayer.
  • Hur funktionspekare fungerar.
  • Hur funktionspekare används för callback-funktioner.
Pekararrayer och funktionspekare — illustration 1

Vad är en array med pekare?

En array med pekare är en array där varje element är en pekare.

Exempel:

int *arr[5];

Den här arrayen kan lagra fem heltalspekare.

Exempel: Array med pekare

Det här programmet demonstrerar en array med pekare.

#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;
}

Vad är en funktionspekare?

En funktionspekare lagrar adressen till en funktion och gör det möjligt att anropa den dynamiskt.

Exempel på deklaration:

int (*funcPtr)(int, int);

Detta definierar en pekare till en funktion som tar två heltal som argument och returnerar ett heltal.

Exempel: Funktionspekare

Det här programmet demonstrerar hur du använder en funktionspekare.

#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;
}

Skicka en funktionspekare till en annan funktion

Funktionspekare kan skickas som argument.

Exempel:

void execute(int (*operation)(int, int)) { }

Den här funktionen tar emot en funktionspekare som parameter.

Exempel: Skicka en funktionspekare som argument

Det här programmet demonstrerar hur du skickar en funktionspekare som parameter.

#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;
}

Användningsområden för funktionspekare

Funktionspekare används för:

  • Callback-funktioner i händelsestyrd programmering.
  • Sorteringsfunktioner, till exempel qsort().
  • Implementering av tillståndsmaskiner.

Sammanfattning

I den här lektionen lärde du dig:

  • Hur du använder arrayer med pekare.
  • Hur du deklarerar och använder funktionspekare.
  • Hur du skickar funktionspekare som argument.

Nästa steg är att utforska strukturer, unioner och uppräkningar i C!

Pekararrayer och funktionspekare — illustration 10
Gratis att börja

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 ”Pekararrayer och funktionspekare” gratis?

Ja – hela texten till ”Pekararrayer och funktionspekare” 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 ”Pekararrayer och funktionspekare”?

Förstå begreppet arrayer av pekare och hur funktionspekare används för callbacks och effektiv programexekvering. 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 3 av 3.

Hur lång tid tar lektionen ”Pekararrayer och funktionspekare”?

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

  1. Introduktion till pekare
  2. Dynamisk minnesallokering
  3. Pekararrayer och funktionspekare
← Tillbaka till C Academy