Oncelikle kendimi tanıtayım Yıldız Teknik Universitesi Bilgisayar Muhendisliği oğrencisiyim. C dilinde yazılım geliştiriyorum. Oğrendiklerimi yazdığım bir blogum var ve burada c programlama dili dersleri de yayınlıyorum.
Biliyorum internette cok fazla ders setleri yayınlandı. Bunlardan farklı olmak icin yayınladığım c programlama dili derslerine 1 konu anlatımı 1 ornek şeklinde gidip yazdığım orneklerin kaynak kodlarını, kod analizini(adım adım) ekran goruntulerini ve coğu konu anlatım dersim icin video eklemeye calışıyorum. Ayrıca derslerle ilgili veya c diliyle ilgili herhangi bir sorunuz yorum attığınız takdirde aynı gun icerisinde cevap verme garantisi veriyorum.

Son olarak ta en son yayınladığım c dilinde fonksiyonları anlattığım 3 dersin son dersini burada paylaşıyorum ve ders anlatımı hakkında yorumlarınızı bekliyorum arkadaşlar.
Şimdiden teşekkurler...
Not: Kodları Duzgun eklememe rağmen duz olarak gozuktu. Kodları acık ve duzgun bir şekilde gormek icin lutfen kaynak kısmını ziyaret edin!!!!
C Dili Dersleri Fonksiyonlar
C dili dersleri serisinin bu dersinde fonksiyonlara kaldığımız yerden devam edeceğiz. Bundan onceki 2 fonksiyon dersimizde fonksiyon tiplerinden, fonksiyonlara matrislerin ve dizilerin nasıl yollanacağından bahsetmiştik.
C dilinde fonksiyonlarda birden fazla değeri return edebilir miyim ? Fonksiyonlarda birden fazla return kullanabilir miyim ? Fonksiyonların bu dersinde bu sorulara yanıt arayacağız.
C Dilinde Return Nedir? Return Nasıl Kullanılır?
Void olmayan tipe bir fonksiyonun sonunda herhangi bir değişkeni return değişken ismi; şeklinde kullandığımızda return edilen değer fonksiyonun cıktısı olduğunu gecen derslerden biliyoruz.
Peki bir fonksiyonda birden fazla return kullanabilir miyiz? Fonksiyon icerisinde birden fazla return kullandığımızda, fonksiyon ilk return den sonra sonlanır.
Bu anlattığımıza en guzel ornek B]URL="http://www.pubtekno.com/2016/05/c-dilinde-fibonacci-saylarn-bulan.html"]"C Dilinde Fibonacci Sayılarını Bulan Program" [/URL][/B]adlı makalemizde fonksiyon kullanarak istediğimiz sıradaki fibonacci sayılarını bulan program konuyu anlamaya yardımcı olacaktır.
Kaynak Kod:
PHP Code:
int fonksiyon(int x)
if(x==2)
if(x>2)
}
Kod Analiz:
- Yukarıdaki ornekte fonksiyona gelen x değeri 1 ise fonksiyon 0 değerini dondurecek. Daha sonra gelen durumlara bakılmadan fonksiyon sonlanacak.
- Eğer gelen sayı 1 değil 2 ise fonksiyon 1 değerini dondurecek ve daha sonraki duruma bakılmadan program sonlanacak.
- Fonksiyona gelen sayı 2 den buyuk olduğu durumda ornek olarak 4 verelim fonksiyon 3 ve 2 değeri icin tekrar donucek. 2 değeri icin sonuc 1, 3 değeri icin ise sonuc 0 ve 1 olacak. Toplamda ise 1+0+1' den sonucu 2 bulmuş olacağız. Yani fibonacci serisinin 4. elemanı 2 dir.
Bu ornekte de gorduğumuz gibi birden fazla return kullandığımızda ilk return den sonra fonksiyon sonlanır.
Peki fonksiyonlarda aynı anda 2 değeri return edebilir miyiz?
Fonksiyonlarda aynı anda 2 değeri return edemeyiz. İki değeri return etmeye calıştığımızda yani return a virgul b dersek, a değeri return edilir ve program sonlanır.
C dilinde fonksiyonlarda return komutunun kullanımı temel olarak bu şekildedir. Şimdi fonksiyonlarla ilgili bir ornek cozerek devam edelim.
Ornek: Bir dizideki en buyuk değeri bulan fonksiyon
Kaynak Kod: PHP Code:
#include
#include
#include
int fonksiyon(int dizi[],int x)
}
return max;
}
int main()
enbuyuk=dizi[fonksiyon(dizi,boyut)];
printf("Dizinin en buyuk elemani : %d",enbuyuk);
return 0;
}
Kod Analiz
- Main fonksiyonu icerisinde kullanıcıdan dizinin boyutunu ve dizinin kendisini aldık.
- Daha sonra diziyi ve boyutu fonksiyona gonderdik.
- Fonksiyon icerisinde en buyuk elemanın yerini bulduk ve en buyuk elemanın yerini return komutuyla dondurduk.
- Boylece fonksiyon(dizi,boyut) komutu en buyuk elemanın yerine eşit olmuş oldu.
- Dizi[fonksiyon(dizi,boyut)] diyerek en buyuk elemanı ekrana yazdırdık.
Ekran Goruntusu:

Ornek: C dilinde bir metinde en cok tekrar eden harfi bulan program
Kaynak Kod:
PHP Code:
#include
#include
#include
int fonksiyon(char metin[],int uzunluk)
for(i='a';i