1. Skip to Menu
  2. Skip to Content
  3. Skip to Footer>

C de program modülleri

PDF Yazdır e-Posta

Written by Admin

Posted on 05 Eylül 2010

Son Güncelleme 05 Eylül 2010

GİRİŞ

Gerçek problemleri çözen çoğu bilgisayar programları, ilk ünitelerde yazdıklarımızdan çok daha geniştir. Tecrübeler bu tür geniş programları yazmanın en iyi yolunun, küçük parçaları ya da her biri orijinal programdan daha kolay kullanılabilecek modülleri (daha önceden hazırlanmış program parçacıkları) birleştirmek olduğunu göstermiştir. Bu tekniğe, böl ve zaptet (divide&conquer) denir. Bu ünite C dilinin , geniş programların tasarım, uygulama, işlem ve kontrol aşamalarını kolaylaştıran özelliklerini açıklamaktadır.

C'DE PROGRAM MODÜLLERİ

C'de modüllere fonksiyon denir. C programları, genellikle programcının yazacağı yeni fonksiyonlarla, daha önceden C standart kütüphanesi içinde tanımlanmış fonksiyonların birleştirilmesiyle yazılır. Bu ünitede, her iki türde de fonksiyonları açıklayacağız. C standart kütüphaneleri genel matematik işlemleri, karakter işlemleri, giriş/çıkış işlemleri ve diğer birçok önemli işlemi yerine getiren birçok fonksiyonu içermektedir. Bu, programcının işini kolaylaştıracaktır çünkü bu fonksiyonlar programcının ihtiyaç duyacağı bir çok yeteneği sağlamaktadır.

    İyi Programlama Alıştırmaları 5.1
    ANSI C standart kütüphanesi içindeki fonksiyonları dikkatlice inceleyin.

    Yazılım mühendisliği Gözlemleri 5.1
    Tekerleği yeniden icat etmekten kaçının. Mümkün olduğunda yeni fonksiyonlar yazmak yerine ANSI C standart kütüphanesi içindeki fonksiyonları kullanın. Bu, program geliştirme zamanını azaltacaktır.

    Taşınırlık İpuçları 5.1
    ANSI C standart kütüphanesi içindeki fonksiyonları kullanmak daha taşınır programlar yazmamıza yardımcı olur.

Aslında teknik olarak, standart kütüphane fonksiyonları C dilinin bir kısmı olmasa da ANSI C sistemlerinde değişmez olarak yer alırlar. printf ,scanf ,pow fonksiyonları gibi daha önceki ünitelerde kullandığımız fonksiyonlar standart kütüphane fonksiyonlarıdır.
Bir programcı, bir programın çoğu kısmında kullanılabilecek belirli işlemleri tanımlamak için fonksiyonlar yazabilir. Bunlara, programcı tarafından tanımlanmış fonksiyonlar denir. Fonksiyonu tanımlayan asıl ifadeler bir kez yazılır ve bu ifadeler diğer fonksiyonlardan gizlenirler.
Fonksiyonlar, fonksiyon çağrıları sayesinde çağrılırlar. Fonksiyon çağırmak demek fonksiyonu kullanmamız gerektiği anda onu programa dahil etmek demektir. Fonksiyon çağrıları, fonksiyonun ismini ve fonksiyonun görevini yerine getirebilmesi için gerekli olan bilgileri (argümanlar olarak) içerir. Anlattıklarımıza uygun bir benzerlik, yönetimin hiyerarşi düzenidir. Patron ( çağırıcı fonksiyon ya da çağırıcı ), işçiye ( çağrılan fonksiyon ) bir görev verir ve işin sonunda da kendisine rapor vermesini söyler. Örneğin, ekrana bir bilgiyi yazdırmak isteyen fonksiyon, printf işçi fonksiyonunu çağırır ve bu görevi yerine getirmesini söyler. printf fonksiyonu, bilgiyi ekrana yazdırdıktan kendini çağıran fonksiyona geri döner ve rapor verir. Patron fonksiyon, işçi fonksiyonun görevi nasıl yerine getirdiğini bilmez. İşçi, başka işçi fonksiyonlar çağırabilir ve patronun bundan haberi olmaz. İleride uygulama detaylarının gizlenmesinin yazılım mühendisliğini nasıl iyileştirdiğini göreceğiz. Şekil 5.1, main fonksiyonunun çeşitli işçi fonksiyonlarla hiyerarşik bir düzende nasıl haberleştiğini göstermektedir. işçi1'in işçi4 ve işçi5'e patron fonksiyon olarak davrandığına dikkat ediniz. Fonksiyonlar arasındaki ilişki, burada gösterilen hiyerarşik düzenden farklı olabilir.