În programare , un tip de returnare sau un tip de rezultat definește și impune restricții asupra tipului de date returnate de o metodă sau funcție . În multe limbaje de programare (în special limbaje tipizate static , cum ar fi Java , C++ și C ), tipul returnat trebuie declarat în mod explicit atunci când se declară o funcție.
Limbajul C folosește operatorul pentru a returna valori personalizate la codul de apelare returnsau valoarea implicită atunci când funcția se termină automat după acolada de închidere. În același timp, funcția poate avea mai mulți operatori returncare pot fi apelați în funcție de condiții predefinite.
Toate tipurile de funcții, cu excepția tipului void , returnează valoarea specificată de expresia din operator return. Standardul C89 permitea executarea unei instrucțiuni returnfără a specifica o expresie într-o funcție al cărei tip nu era nul, caz în care ar fi returnată o valoare arbitrară. Dar standardul C99 reglementa deja indicarea obligatorie a valorii de returnare. Adică, dacă există o indicație că funcția returnează o valoare, atunci aceasta trebuie specificată în prealabil pentru operator return. În acest caz, în cazul executării unei funcții care nu este de tip void, se returnează o valoare arbitrară.
Limbajul C oferă, de asemenea, capacitatea de a returna o funcție pointer. Pentru ca o funcție să returneze un pointer, trebuie declarat că returnează un pointer la tipul dorit. Adică tipul pointerului returnat trebuie declarat explicit. De exemplu, nu puteți declara un tip returnat ca int * dacă este returnat un pointer de tip char *. Dacă este necesar să returnați un pointer „generic” (adică un pointer care poate indica date de orice tip), tipul de returnare al funcției ar trebui definit ca void * [1] .
Exemplu Java:
public int someMethod ()Aici tipul returnat este int (întreg). Astfel, un program se poate baza pe o metodă care returnează o valoare int . Pentru cazurile în care o subrutină (funcție) nu returnează nicio valoare, sunt utilizate diverse mecanisme, de exemplu: tipul de returnare este nul în unele limbaje de programare:
public void return Nimic ()