Menu
Coddy logo textTech

Tablice i funkcje

Część sekcji Podstawy ścieżki C++ w Coddy. Lekcja 62 z 74.

Tablic nie można przekazywać bezpośrednio do funkcji jako całych tablic. Gdy próbujesz przekazać tablicę do funkcji, „zanika” ona do wskaźnika na jej pierwszy element.

Na przykład:

int numbers[5] = {1, 2, 3, 4, 5};
void processArray(int arr[]) {
	int size = std::size(arr);
}

std::size(arr) nie poda rzeczywistego rozmiaru tablicy. arr jest tutaj w rzeczywistości wskaźnikiem, a nie tablicą. Wskaźników nauczysz się na następnym kursie.

Dlatego przy przekazywaniu tablic do funkcji zazwyczaj musimy przekazać rozmiar jako osobny parametr:

void processArray(int arr[], int size) {
    // Teraz możemy bezpiecznie operować na tablicy, korzystając z parametru size
}

Oto, jak wywołać funkcję:

int numbers[5] = {1, 2, 3, 4, 5};
processArray(numbers, 5);

Nie można też zwrócić tablicy z funkcji:

int[] processArray(int arr[]) {
	return arr;
}

To jest nieprawidłowe. Zamiast tego użyj składni *:

int* processArray(int arr[]) {
	return arr;
}
int* newArr = processArray(arr);

Składnia gwiazdki (*) odnosi się do wskaźników, które zostaną omówione na następnym kursie.

Spróbuj swoich sił

Ta lekcja nie zawiera wyzwania z kodem.

quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Kompilator C++ online