Menu
Coddy logo textTech

Tablica jako parametr

Lekcja 9 z 17 w kursie Funkcje w C w Coddy.

Funkcja może również przyjmować tablicę jako parametr, tak jak każdą inną zmienną. Jedyna różnica polega na tym, że tablica jest przekazywana do funkcji jako wskaźnik, w przeciwieństwie do innych typów prostych, które przekazujemy przez wartość.

Gdy tablica jest przekazywana do funkcji, funkcja otrzymuje wskaźnik do pierwszego elementu tablicy.

Przyjrzyjmy się przykładowi użycia:

#include <stdio.h>

// Definicja funkcji
void printArray(char *arr[]) {
    for (int i = 0; i <= 3; i++) {
        printf("%s ", arr[i]);
    }
    printf("\n");
}

int main() {
    char *a[] = {"C", "Java", "React", "Python"};

    // Wywołanie funkcji
    printArray(a);

    return 0;
}

W funkcji main definiujemy prostą tablicę:

char *a[] = {"C", "Java", "React", "Python"};

W funkcji printArray wykonujemy pętlę od 0 do 3 i wypisujemy każdą wartość:

   for (int i = 0; i <= 3; i++) {
       printf("%s ", arr[i]);
   }

Wynik będzie wyglądał tak:

C Java React Python 

Uwaga: W przypadku ciągów znaków musimy jawnie użyć gwiazdki (*), aby poinformować kompilator, że każdy ciąg znaków (np. "Java") jest elementem tablicy. W przeciwnym razie każdy znak (np. 'J') zostanie potraktowany jako element.

challenge icon

Wyzwanie

Łatwy

Napisz funkcję o nazwie printDouble, która przyjmie tablicę liczb, podwoi każdy element i wyświetli wynikową listę na ekranie.

Na przykład dla danych wejściowych:

2 6 8 10

Wynikiem będzie:

4 12 16 20

Spróbuj swoich sił

#include <stdio.h>

// Definicja funkcji



int main()
{
    // Nie zmieniaj tego
    int nums[] = {10, 6, 22, 40, 1}};
   // Wywołaj funkcję
    printDouble(nums);
     
    return 0;
}

Wszystkie lekcje w sekcji Funkcje w C

Poćwicz samodzielnie: Kompilator C online