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.
Wyzwanie
ŁatwyNapisz 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 10Wynikiem będzie:
4 12 16 20Spró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