C Academy · leksjon

Pekermatriser og funksjonspekere

Forstå konseptet med matriser av pekere og hvordan funksjonspekere brukes til callback-funksjoner og effektiv programkjøring.

Leksjon 3 av 310 trinn

Pekermatriser og funksjonspekere er en gratis leksjon i C Academy på CoddyKit. Dette er leksjon 3 av 3. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i C Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i C Academy inneholder totalt 3 leksjoner.

Arrayer med pekere og funksjonspekere

Pekere kan brukes i arrayer til å lagre flere minneadresser, og funksjonspekere gjør det mulig å sende funksjoner som argumenter.

I denne leksjonen lærer du:

  • Hvordan du deklarerer og bruker arrayer med pekere.
  • Hvordan funksjonspekere fungerer.
  • Hvordan funksjonspekere brukes til callbacks.
Pekermatriser og funksjonspekere — illustrasjon 1

Hva er en array med pekere?

En array med pekere er en array der hvert element er en peker.

Eksempel:

int *arr[5];

Denne arrayen kan lagre fem pekere til heltall.

Eksempel: Array med pekere

Dette programmet demonstrerer en array med pekere.

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

Hva er en funksjonspeker?

En funksjonspeker lagrer adressen til en funksjon og gjør det mulig å kalle den dynamisk.

Eksempel på deklarasjon:

int (*funcPtr)(int, int);

Dette definerer en peker til en funksjon som tar to heltall som argumenter og returnerer et heltall.

Eksempel: Funksjonspeker

Dette programmet demonstrerer hvordan du bruker en funksjonspeker.

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

Sende en funksjonspeker til en annen funksjon

Funksjonspekere kan sendes som argumenter.

Eksempel:

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

Denne funksjonen tar imot en funksjonspeker som parameter.

Eksempel: Sende funksjonspeker som argument

Dette programmet demonstrerer hvordan du sender en funksjonspeker 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;
}

Bruksområder for funksjonspekere

Funksjonspekere brukes til:

  • Callbacks i hendelsesdrevet programmering.
  • Sorteringsfunksjoner (for eksempel qsort()).
  • Implementering av tilstandsmaskiner.

Oppsummering

I denne leksjonen lærte du:

  • Hvordan du bruker arrayer med pekere.
  • Hvordan du deklarerer og bruker funksjonspekere.
  • Hvordan du sender funksjonspekere som argumenter.

Deretter skal vi utforske strukturer, unioner og enumerasjoner i C!

Pekermatriser og funksjonspekere — illustrasjon 10
Gratis å komme i gang

Lær deg C med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
39
Leksjoner
144

Ofte stilte spørsmål

Er leksjonen «Pekermatriser og funksjonspekere» gratis?

Ja – hele teksten i «Pekermatriser og funksjonspekere» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av C Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i C Academy inneholder totalt 3 leksjoner.

Hva lærer jeg i «Pekermatriser og funksjonspekere»?

Forstå konseptet med matriser av pekere og hvordan funksjonspekere brukes til callback-funksjoner og effektiv programkjøring. Du øver på C Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med C Academy?

Ingen tidligere erfaring er nødvendig. C Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 3 av 3.

Hvor lang tid tar leksjonen «Pekermatriser og funksjonspekere»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne C Academy-leksjonen?

Ja. Alle C Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Introduksjon til pekere
  2. Dynamisk minneallokering
  3. Pekermatriser og funksjonspekere
← Tilbake til C Academy