Nepromenljivi parametri funkcije su oni čije se vrednosti ne menjaju unutar funkcije. To se označava dodavanjem identifikatora const ispred oznake tipa parametra.

U slučaju nizovnog parametra on označava da funkcija ne menja vrednost nijednog elementa niza, a u sličaju pokazivačkog parametra da funkcija ne menja vrednost pokazivanog podatka.

Primer u kojem koristimo nepromenljivi nizovni parametar:

int zbir(const int niz[], int n) /*zbir elemenata niza */
{
int suma, i;
suma = 0;
for(i=0;i<n;i++)
suma = suma + niz[i];
return suma;
}

Pošto za izračunavanje zbira elemenata niza nije potrebno promeniti vrednost nijednog elementa niza, parametar niz je deklarisan kao nepromenljivi parametar.

Kada je parametar funkcije obeležen kao nepromenljiv, to znači da se pomoću tog parametra ne mogu stvarati bočni efekti. Ako se u telu funkcije napiše naredba kojim se želi promeniti vrednost takvog parametra, prevodilac će da javi grešku.

(Nema smisla da se proglasi nepromenljivim neki parametar koji nije niti niz niti pokazivač. Da li možete da se setite zašto? )

Last modified: Tuesday, 20 November 2018, 9:15 PM