Fonksiyonlar, matematikte yapılmasını istediğimiz işlemi tanımlamamıza yarayan, bir başka deyişle, değişken yapıları, istenilen düzene göre düzenleyip, istenen sonuca ulaşılabilmesini sağlayan araçlardır. Bilgisayar dilinde, değişken yapılar “Girdi”, sonuç ise “Çıktı” olarak nitelendirelecektir. Kısaca fonksiyonun bilgisayar dilindeki işlevi bu şekilde nitelendirilebilir.

Hemen hemen her programlama dilinde var olan fonksiyon kavramı birçok nesne tabanlı programlama dilinde “metot” olarak adlandırılır.
Ancak burada bahsedilen metot kavramı tam anlamıyla fonksiyon değildir. Metotlar belirli sınıflara bağlıyken, fonksiyonlar belirli sınıflara bağlı olmak zorunda değildir. Yani fonksiyonlar ön tanımlıdır, ancak metotlar sınıflara aittir, sınıflardan üretilen bir nesne ile çağrılırlar.
Örneğin Java dilinde fonksiyon benzeri bir kullanıma metot adı verilir.
Yine farklı programlama dillerinde fonksiyon prosedür(procedure) ve modül(modüle) gibi isimlerle nitelendirilebilmektedir.
Bir fonksiyonun bilgisayar dili üzerindeki temel yapısı,
DönüşTipi Fonksiyon_Adı (Fonksiyon_Parametreleri) { Fonksiyonİçeriği;
}
şeklindedir. Yukarıda verilen bileşenleri açıklayalım,
Dönüş Tipi: Fonksiyonlar yaptıkları işlemler sonucunda genellikle bir sonuç döndürürler. Fonksiyon içinden sonuç döndürebilmek için “return” ifadesi kullanılır. return ifadesiyle döndürülen değerin tipi fonksiyonun dönüş tipiyle aynı olmak zorundadır.
Örneğin,
inttoplamaYAp(int deger1, int deger2) {
int sonuc;
sonuc=deger1+deger2;
return sonuc;
}
Bu örnekte sonuç döngüsü görülmektedir. sonuc isimli fonksiyona atanan değer, return yardımıyla programda tutulmuştur.
Fonksiyon Adı: Kodlama yaparken, kullandığınız veya kullanacağamız tüm veriler için bir isim bulmak zorundasınızdır. Fonksiyonlar için de durum bu şekildedir. Her fonksiyon için bir isim kullanmalı ve bu isimden yararlanarak programınızın gidişatını kontrol etmelisiniz. Mesela yukarıdaki örneğimizde fonksiyon adı toplama şeklindeydi. Bundan yararlanarak toplama işlemi tanımladık. Buna benzer farklı fonksiyonlar tanımlayabilir ve farklı fonksiyonları birlikte kullanarak yeni fonksiyonlar oluşturabilirdik. Bu sebeple adlandırma işlemi yazılımın her alanında çok önemli bir yere sahiptir.
Fonksiyon Parametreleri: Bu alanda fonksiyonun yapacağı işlem için gereken parametreler belirlenir. Yani örneğimizde int deger1, int deger2 olarak tanımladığımız tam sayı değerleri, bu fonksiyonun parametreleridir.
Fonksiyon İçeriği: Fonksiyonun yapacağı işlemlerin tanımlandığı kısımlar, fonksiyon içeriği olarak nitelendirilirler. Örneğimizde fonksiyonun yapacağı işlemi sonuc=deger1+deger2 olarak tanımlamıştık.

Şimdi C dilinde fonksiyonlar yardımıyla bir program oluşturalım,
#include
int toplamaYap(int deger1,int deger2) {
return deger1+deger2;
}
int main(int argc,const char*argv[]) {
int sayi1=25;
int sayi2=55;
intToplamSonucu=toplamaYap(sayi1,sayi2);
return 0;
}
Program Çıktısı:
25 + 55 = 80
yukarıdaki programda fonksiyon yardımıyla 25+55 sayısını toplamını gösterdiğimiz bir örnek tanımlamış olduk.




