📓
Temel C Programlama
  • Temel C Programlama Dersleri -1- Giriş
  • Temel C Programlama -2- Bilgisayar Mimarisi Temelleri
  • Temel C Programlama -3- Bilgisayar Yazılımı Temelleri
  • Temel C Programlama -4- Programlama Dilleri
  • Temel C Programlama -5- Makine Dili, Assembly Dili ve Yüksek Seviye Diller
  • Temel C Programlama -6- C Diline Giriş
  • Temel C Programlama -7- C Geliştirme Aşamaları ve Derleyici Kurulumu
  • Temel C Programlama -8- İlk Program
  • Temel C Programlama -9- Basit Program Örnekleri – 1
  • Temel C Programlama -10- Basit Program Örnekleri – 2
  • Temel C Programlama -11- Aritmetik Operatörler
  • Temel C Programlama -12- C Veri ve Değişken Tipleri
  • Temel C Programlama -13- C Veri ve Değişken Tipleri – 2
  • Temel C Programlama -14- Döngülere Giriş
  • Temel C Programlama -15- İlişki Operatörleri
  • Temel C Programlama -16- For Döngüsü
  • Temel C Programlama -17- While Döngüsü
  • Temel C Programlama -18- do while Döngüsü
  • Temel C Programlama -19- Kararlar ve If Karar Yapısı
  • Temel C Programlama -20- Else ve Else If Yapıları
  • Temel C Programlama -21- Switch Karar Yapısı, break ve continue
  • Temel C Programlama -22- Mantık Operatörleri, Birleşik Operatörler ve Operatör Önceliği
  • Temel C Programlama -23- Fonksiyonlara Giriş
  • Temel C Programlama -24- Basit Fonksiyonlar
  • Temel C Programlama -25- Değer Alan Fonksiyonlar, Sabitler, Önek ve Sonekler
  • Temel C Programlama -26- Fonksiyondan Değer Döndürmek
  • Temel C Programlama -27- Diğer Fonksiyon Konuları ve Recursive Fonksiyonlar
  • Temel C Programlama -28- Diziler
  • Temel C Programlama -29- Diziler -2-
  • Temel C Programlama -30- İşaretçilere Giriş
  • Temel C Programlama -31- İşaretçiler
  • Temel C Programlama -32- Çift İşaretçiler
  • Temel C Programlama -33- İşaretçileri Referans Olarak Aktarmak
  • Temel C Programlama -34- İşaretçi Aritmetiği
  • Temel C Programlama -35- İşaretçiler ve Diziler
  • Temel C Programlama -36- İşaretçi ve Değer Sabitleri
  • Temel C Programlama -37- Fonksiyon İşaretçileri
  • Temel C Programlama -38- Karakterler ve Karakter Dizilerine Giriş
  • Temel C Programlama -39- Karakter Dizileri (String)
  • Temel C Programlama -40- ctype.h Başlık Dosyası ile Karakter İşlemleri
  • Temel C Programlama -41- string.h Başlık Dosyası ile Karakter Dizisi İşlemleri
  • Temel C Programlama -42- stdlib.h ve stdio.h Başlık Dosyaları ile Karakter Dizisi İşlemleri
  • Temel C Programlama -43- Formatlı Giriş ve Çıkış
  • Temel C Programlama -44- Yapılar
  • Temel C Programlama -45- Yapı Uygulamaları ,typedef ve union (birlikler)
  • Temel C Programlama -46- Bit Manipülasyonu ve Bitwise Operatörleri
  • Temel C Programlama -47- Bit Bazlı Uygulamalar (Set, Reset, Toggle)
  • Temel C Programlama -48- Bit Alanları ve Enümeratörler
  • Temel C Programlama -49- Dosya İşlemleri ve fopen() fonksiyonu
  • Temel C Programlama -50- fprintf() ve fclose() ile En Basit Dosya Uygulaması
  • Temel C Programlama -51- Dosya İşaretçisi ve feof() Fonksiyonu
  • Temel C Programlama -52- Dosya Uygulamaları
  • Temel C Programlama -53- Ön İşlemci Komutları (Preprocessor)
  • Temel C Programlama -54- Sonsöz
Powered by GitBook
On this page

Was this helpful?

Temel C Programlama -23- Fonksiyonlara Giriş

Artık bu noktadan itibaren giriş seviyesini bıraktık ve orta seviyeye doğru ilerliyoruz. Okuyuculardan ricamız bu noktaya kadar anlattıklarımızı tam anlamıyla anlamış olmaları ve yazılan program kodlarını okuyabilecek seviyeye gelmeleridir. Eğer dersleri takip etmenize rağmen bu konuda bir eksikliğiniz varsa hiç çekinmeden farklı kaynaklardan faydalanabilirsiniz. Video, kitap ya da eğitim yazısı olsun hepsi aynı konuları anlatsa da farklı örnekleri inceleme ve farklı anlatımlardan yararlanma imkanınız olur. Ben gömülü sistem geliştiricisi olduğum için konuya kendi bakış açımdan bakabilirim. Siz farklı yazarlardan faydalandıkça konuya bakış açınız daha genişleyecektir. Ben öğrendiğimi pekiştirmek için aynı konu hakkında yazılmış farklı İngilizce kitapları okumaktayım.

Fonksiyonlar bizim karmaşık program yazmamızdaki ilk adımımızdır. Ayrıca C dilinde en çok kullanılan yapılardan biridir ve dilin olmazsa olmazıdır. C dilinde yazılan programların hepsi fonksiyonlar üzerine bina edilmiştir. Biz fonksiyon konusunu anlatmadan önce bile ilk programda main() ya da printf() fonksiyonlarını kullanarak fonksiyonlara giriş yapmış olduk. Fonksiyon olmayan bir C programını düşünmemiz imkansızdır çünkü en azından bir main fonksiyonunu içinde bulundurmaktadır.

Fonksiyonları bölünmüş program blokları olarak düşünebiliriz. Biz 100-200 satır programı geçtikten sonra yazdığımız program aşırı derecede büyük ve bunu bölümlere ayırmamız gerekir. Aynı bir kitap yazarken başlıklara ayırmak ya da öğrencileri sınıflara ayırmak gibi kodları da fonksiyonlara ayırırız ve blok blok kullanırız. Birbiriyle alakalı komutlar veya bir işi yapmaya yönelik komutlar bir fonksiyon içerisinde toplanır. Fonksiyonların en önemli kullanım sebebi kodun organize etmektir. Ayrıca tekrar eden kod bloklarını da fonksiyon olarak belirterek sürekli aynı program blokunu yazmaktan kurtuluruz. Bir kere fonksiyonu yazdıktan sonra defalarca kullanabiliriz ve bellekte tekrar tekrar yer kaplamaz.

Fonksiyonların kullanıldığı ve kodların tekrar etmediği bir program bu yönden optimize edilmiş bir programdır. Böylece bellekte daha az yer tutmaktadır. İşletilen kod sayısında bir değişiklik olmasa da özellikle gömülü sistemlerde kısıtlı hafıza alanında çalıştığımız için bellek miktarı sıkıntı olmaktadır.

Bellek yiyen programlar bazen bilgisayarlarda da sıkıntı haline gelmektedir. Çok basit yapılı programlar bile belki yanlış programlama dilinden belki de optimizasyondan dolayı aşırı derecede bellek tüketmektedir ve yüksek seviye sistemlerde bile istenilen performansı verememektedir.

C’de programların modüllere fonksiyonlar ile ayrıldığını söylemiştik. Bu modüller aynı lego parçaları veya yapboz parçası gibi belli bir şekilde ve amaca yönelik olmaktadır. Bölünmüş programlar üzerinde hakimiyet kurmak daha kolay olmaktadır. Bu program parçalarını çeşitli dizilimlerde bir araya getirerek programı düzenleyebileceğimiz gibi farklı programlar da yazabiliriz. Örneğin prinf fonksiyonu ekrana formatlı yazı yazdıran bir program modülüdür. Fakat bu fonksiyonu biz yazacağımız yüzlerce örnekte kullanabiliyoruz. Sadece fonksiyon adını çağırarak birbirinden alakasız programlara entegre edebiliriz.

C dilinde hazır fonksiyonlar standart kütüphanelerle beraber gelse de istersek biz bu fonksiyonların taklitlerini yazabileceğimiz gibi tamamen kendimize ait bambaşka bir fonksiyon da yazabiliriz. Fonksiyonlar printf fonksiyonundan gördüğümüz üzere argüman adı verilen değerleri almaktadır. Bu değerler fonksiyonun program blokuna gider ve ilgili yerlerde işletilir. Ayrıca fonksiyonların değer döndürdüğünü de gördük. Örneğin getche() fonksiyonu klavyeden girilen karakter değerini bize bildiriyordu.

Fonksiyon konularını geniş bir alana yayacağız ve çeşitli örneklerle zenginleştireceğiz. Çünkü fonksiyonları anlamak ve etkili kullanmak iyi program yazmanın temelidir. Fonksiyonları iyi kullanabilmek için bolca pratik ve tecrübe de gerekmektedir. Fakat bunlardan önce kapsamlı bir teorik bilgiye ihtiyaç vardır.

PreviousTemel C Programlama -22- Mantık Operatörleri, Birleşik Operatörler ve Operatör ÖnceliğiNextTemel C Programlama -24- Basit Fonksiyonlar

Last updated 5 years ago

Was this helpful?