Jaka jest składnia do zwrócenia tablicy przez funkcję?

0

To się zawiesiłem. Chyba nigdy nie zwracałem tablicy przez funkcję ;O

W kodzie wykorzystuję często inicjalizację tablicy i wypełnienie jej wartościami, chciałem z tego zrobić funkcję, żeby uprościć kod i dostałem zawiechy.

Pewnie tego co chcę zrobić nie da się za pomocą jednej linii, albo gdzieś mi się wkradły braki.

Chcę zdeklarować tablicę jednocześnie przypisując do niej wartości wywołując funkcję.

Z tego co pamiętam to nazwa tablicy jest jednocześnie wskaźnikiem na jej pierwszy element, to znaczy, żeby ją zwrócić nie potrzebuję funkcji return a funkcja może być typu void? ;P Chyba tak, ale jak chcę operować na kopii a nie na oryginale? Lol, wymiękam, może mi ktoś napisać przykład jak powinien wyglądać schemat zdeklarowania tablicy, jej zdefiniowania i wypełnienia wartościami przy wykorzystaniu pętli for za pomocą funkcji w taki sposób, żeby nie działać na oryginale?

0

Jeżeli chcesz zwrócić tablicę przez funkcję, to możesz to zrobić na kilka sposobów, jednak są pewne restrykcje. Mianowicie:

Zwracając tablicę, zwracasz tak na prawdę wskaźnik. Więc aby było to możliwe, tablica nie może być lokalna w funkcji, bo po wyjściu z niej tablica przestanie istnieć. Więc możesz zwrócić tablicę alokowaną dynamicznie (za pomocą malloc / calloc lub new [C++]).
Innym sposobem zwrócenia tablicy jest opakowanie jej w klasę bądź strukturę. W tym wypadku może to być obiekt lokalny w funkcji. Jednak definicja struktury musi być przed wywołaniem funkcji.

0

dział newbe, na tej stronie co jest twój temat (aktualnie) znajdziesz odpowiedź na swoje pytanie :]

1 użytkowników online, w tym zalogowanych: 0, gości: 1