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.
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
4Operatory — część 1
Operatory arytmetyczneOperator moduloInkrementacja/dekrementacjaPostinkrementacja/postdekrementacjaSkrócone operatory arytmetyczneOperatory porównaniaPorównywanie ciągów znaków7Podstawy wejścia/wyjścia
Instrukcja coutInstrukcja cinWczytywanie ciągu znakówPowtórka — do 120Powtórka — prawda czy fałsz3Zmienne, część 2
Deklarowanie typówKonwencje nazewnictwaPowtórka — inicjalizacja zmiennychKonwersja typów, część 1Konwersja typów, część 26Podejmowanie decyzji
Instrukcja ifIf - elseInstrukcja switchOperator warunkowyPowtórzenie: if - elseZagnieżdżone if - elsePoćwicz samodzielnie: Kompilator C++ online