c de return type olarak yazdığımız int lerin sürekli bi aralığından bahsediliyo? bu tam olarak ne demek yae sadece o sayı aralığını mı kullancaz ama sadece onu nerde kullancaz? bu integer demek olduğuna göre bunu sadece sayılar sözkonusu olduğunda mı kuallanıcaz?
int ?
Bu başlık kilitlidir. Yeni mesajlar gönderilemez veya mevcut mesajlar düzenlenemez.int, dediğin gibi integer [tamsayı] anlamında sevgili small_ticket. Biz int birsayi; dediğimiz zaman, işletim sistemimiz bellek üzerinde, daha sonra birsayi diyerek ulaşabileceğimiz bir alan ayırıyor bize. Bu alanın büyüklüğü de bizim sayımızın alabileği değer aralığını belirliyor doğal olarak. Eğer sayımız, negatif olabiliyorsa, işaretsiz [unsigned] olduğunda alabileceği maksimum değerin yarısını alabilecektir.
Bunun dışında, bu değişkenin alabileceği aralığa dair söyleyebileceğimiz diğer şey de, bu aralığın sisteme bağlı olduğudur. 32 Bitlik windows sistemlerinde bunun için 32 bit ayrılır. Bu da şu anlama gelir: 32 bit ayrılan int türü bir değişken, işaretsizse eğer, maksimum 4.294.967.295 değerini tutabilir. İşaretli olursa, yani negatif ve pozitif değerler alabiliyorsa, en yüksek değeri bunun bir fazlasının yarısı olacaktır. [Bir fazlası da 0 ]
C return apayrı bir olaydır ...
C dilinde fonksiyonlar ya değer gönderirler yada göndermezler ... Yani void derseniz değer göndermez aksi takdirde geri dönüş değerini belirtmeniz gerekir eğer belirtmezseniz varsayılan olarak int kabul edilir. Tabii C++ da her fonksiyonun mutlaka geri dönüş değeri kesin olarak belirtilmesi gerekir tabii bu C dilinde yoktur.Eğer belirtmezseniz varsayılan olarak int gönderilir ...
Peki bu geri dönüş değerleri ne işe yarar.Bu geri dönüş değeri fonksiyon veriyi işler ve bir sonuca varır siz bu sonucu fonksiyona geri dönüş değerini belirterek çağıran fonksiyon yada işleme gönderirsiniz...
Örnek Olarak ;
int topla(int a,int b)
{
return a+b;
}
burada parametreler toplanmakta ve altı çizili olarak belirttiğimiz int değeri bu fonksiyonu çağıran işleme a+b yi int türünden olarak gönderir ...
Eğer
topla(int a,int b)
{
return a+b;
}
derseniz geri dönüş değerini belirtmediğiniz zaman int türü geri dönüş değeri olarak gönderilir.
Buradan çıkarılacak sonuç geri dönüş değerlerini return tipine uygun olarak göndermeniz ... Gerisini C diline bırakın ...
ya peki int yerine int den başka hangi değerleri yazabiliriz? ve onları hangi değişkenler için kullancaz?
Değişkenler ve değerler konusunda biraz kafamız karışmış sanırım small_ticker...
Şunu anlamamız gerekiyor önce: Bilgisayarda her şey "bit"lerle ifade ediliyor. Herhangi bir değer, 0 ve 1'lere çevirerek kaydediliyor. Programlarımızda, sürekli sistem belleğine bir şeyler yazıyor ve yazdığımız değerleri okuyoruz. Bu değerler üzerinde işlemler yapıyor ve belleğe yeni şeyler ekliyoruz...
Belleğe kaydedeceğimiz bir değer için, bu değere uygun bir yer ayırmamız gerekiyor öncelikle. Bir değere ne kadar yer ayrılacağını ya da tersinden bakarsak, bellekteki bir bölgeye nasıl davranılacağını belirleyen de: "veri tipleri" [data types].
Veri tipleri, her dilde farklıdır doğal olarak. Standart C'de, void, int, float, double, ve char veri tiplerimiz var.
void aslında bir veri tipi olmadığını ifade ediyor. Fonksiyonları void olarak tanımlarsak, değer döndürmeyeceklerini ifade etmiş oluruz.
int veri tipi de, "tamsayı" anlamında ve yukarıdaki diğer mesajımda ifade ettiğim gibi farklı aralıklara sahip olabilir.
float ve double "kayan" noktalı sayılar da denen, bildiğimiz ondalık sayıları ifade ediyor.
char ise bir "karakter"i ifade ediyor.
Bir de C++'la eklenen bool[boolean-doğru/yanlış] ve wchar_t[geniş karakter] veri tipleri var...
Fonksiyon tanımlamalarında da bu veri türlerini kullanabilirsin:
int carpim(int carpan1, int carpan2) {...}
float bolum(int bolen, int bolunen) {...}
gibi...