Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

C PROGRAMLAMA FONKSİYONLAR Hazır fonksiyonlar (math, rand) Kullanıcı Tanımlı Fonksiyonlar Değer ile Çağırma.

Benzer bir sunumlar


... konulu sunumlar: "C PROGRAMLAMA FONKSİYONLAR Hazır fonksiyonlar (math, rand) Kullanıcı Tanımlı Fonksiyonlar Değer ile Çağırma."— Sunum transkripti:

1 C PROGRAMLAMA FONKSİYONLAR Hazır fonksiyonlar (math, rand) Kullanıcı Tanımlı Fonksiyonlar Değer ile Çağırma

2 FONKSİYONLAR Gerçek hayattaki problemlerin çözümü için geliştirilen programlar çok büyük boyutlardadır. Daha büyük programlar yazmanın en kolay yolu onları küçük parçalar halinde yazıp sonra birleştirmektir. Böylece çok büyük boyutlardaki program kodlarını yönetmek daha kolay olacaktır. Büyük problemleri kendi içerisinde, her biri verilen bir işi çözmek için tasarlanmış alt program (sub program) parçacıklarından, yani modüllerden oluşturmak (modüler programlama) daha mantıklıdır. C dilinde bu modüllere fonksiyon (function) adı verilir.

3 FONKSİYONLAR Fonksiyonlara işlev ya da alt yordam adı da verilmektedir. Bir fonksiyonu çalıştırma işine çağırma (function call) denir. Her fonksiyon, fonksiyon ismi ve kendisinden istenen işi gerçekleştirmek için gerekli olan değerler yani parametreler-argümanlar ile çağrılırlar. Bazı fonksiyonlar kendi içerisinde çeşitli işlemler yaptıktan sonra yaptığı işlemin sonucunu kendisini çağıran fonksiyona döndürürler. Bu değere geri dönüş değeri (return value) adı verilir.

4 FONKSİYONLAR C programlarında main() ana fonksiyon olduğu için programın çalışması main() fonksiyonundan başlar. Main fonksiyonu diğer fonksiyonları çağırarak çalıştırır. Bir fonksiyon içerisinden başka bir veya birkaç fonksiyonda çağrılabilir.

5 Fonksiyon kullanmanın faydaları
Kodun gereksiz yere büyümesini engeller. Sıkça tekrarlanan işler için bir kere fonksiyon yazıldığında aynı kodlar tekrar yazılmaksızın istendiği kadar çalıştırılabilir. Okunabilirliği artırarak algılamayı kolaylaştırır. Main() fonksiyonu içerisinde birbirinden ayrılmış sadece kendi işlerinin yapan fonksiyonların isimleri bulunur. Detay işlemler fonksiyonların içinde halledilir. Bu programlama tekniğine prosedürsel soyutlama (procedural abstraction) adı verilir. Programın test edilmesini ve hataların bulunmasını kolaylaştırır. Hata araştırılırken aranılması gereken alt program bloğuna bakılır. İstenilirse yalnız başlarına da test edilebilirler. Güncelleştirilebilir olmasını ve yeniden kullanabilme kolaylığı sağlar. Modüler olarak yazıldıklarında istenilen projelerde defalarca kullanılabilirler. C dilinde standart fonksiyonlar ve kullanıcı tanımlı fonksiyonlar olmak üzere iki tip fonksiyon bulunur.

6 Standart fonksiyonlar
C dilinin geliştiricileri tarafından programcıların kullanmaları için önceden yazılmış olan hazır fonksiyonlardır. Programcı, kullanmak istediği hazır fonksiyon prototiplerinin bulunduğu başlık (header) dosyalarını #include ön işlemci direktifi ile bildirerek kullanabilir. Hazır fonksiyonların kendileri .LIB uzantılı kütüphane dosyaları içindedirler. Standart girdi-çıktı işlemleri için kullanılan printf() ve scanf() fonksiyonlar standart veya hazır fonksiyonlardır. stdlib kütüphanesinde bulunan rand() fonksiyonu rastgele sayı üretmek için kullanılan bir hazır fonksiyondur.

7 math.h kütüphanesi Standart veya hazır fonksiyonlara matematiksel işlemeleri gerçekleştirmek için kullanılan ve math kütüphane dosyasında bulunan fonksiyonlarda örnek olarak verilebilir.

8 math.h kütüphanesi

9 getchar() fonksiyonu Klavyeden girilen tek bir karakteri okur.
Bu fonksiyonun kullanıldığı programlara #include <conio.h> başlık dosyası eklenmelidir. Genel formatı char ch; ch = getchar( ); Programda bu fonksiyona ulaşılınca, fonksiyon bir tuşa basılana kadar bekler. Bir karakter girilince fonksiyon bu karakteri ekrana yansıtır ve aldığı bu karakteri ch değişkenine atar.

10 putchar() fonksiyonu Çıktı: ?a a
Tek bir karakteri ekranda görüntülemek için kullanılır. Genel formatı putchar(ch); #include <stdio.h> #include <conio.h> int main() { char ch; putchar (‘?’); ch = getchar( ); putchar(ch); } Çıktı: ?a a

11 getche() ve getch() fonksiyonları
scanf() ve getchar() fonksiyonları veri girişini belleğe satırlık giriş olarak yaparlar. Yani enter’a basmadan veri girilmiş, okunmuş sayılmaz. Bu durum çok sık tuş kullanımı gerektiren uygulamalarda kullanışsızdır. getche() ve getch() fonksiyonları, her karakter girişinden sonra enter’a basmayı gerektirmezler. getche() ve getch() fonksiyonları arasındaki fark getche() fonksiyonunda girilen karakter ekranda görüntülenir. getch() fonksiyonunda ise ekranda görüntülenmeden programa devam edilir. char ch; printf(‘’devam edecek misiniz (e/h)’’); Ch = getche(); İf(ch == ‘e’) …..

12 Geri dönüş tuşudur (ENTER)
Örnek – karakter sayısını bulma \r Geri dönüş tuşudur (ENTER) Uygulama: Programı girilen metindeki boşlukları, rakamları ve alfabetik karakterleri sayacak şekilde geliştirin.

13 rand() fonksiyonu Rasgele sayı üretmek için kullanılır. 0 ile stdlib.h dosyasında tanımlı RAND_MAX arasında değişen rasgele sayılar üretir. Bu fonksiyonun kullanıldığı programlara #include <stdlib.h> başlık dosyası eklenmelidir. Genel formatı unsigned u; u = rand( ); rand() fonksiyonunun ürettiği sayılar bazı uygulamalar için büyük olabilir. Belirli bir aralıkta sayı elde etmek için (%) mod işaretinden faydalanılır. rand() % ifadesi 0-5 arasında sayılar üretir. 1+rand() % ifadesi 1-6 arasında sayılar üretir.

14 srand() fonksiyonu Farklı dizi elde edilecek koşulları oluşturmaya randomizing denir. Bu koşullar srand() fonksiyonu ile sağlanır. srand() fonksiyonunun argümanı unsigned int tipindedir ve her kullanımda farklı rasgele sayı dizisi verir. srand( clock() ); Bu örnekte rasgele sayı üretmek için clock() fonksiyonu ile sistem zaman bilgisinden faydalanılmıştır. clock() fonksiyonu <time.h> başlık dosyasında bulunur.

15 Örnek – zar atışı simülasyonu
Program Çıktısı

16 main fonksiyonuna gönderilen parametreler, çalışacak olan programa dışarıdan gönderilecek olan parametrelerdir. main parametreleri Parametre sayısı sorgulanıyor Parametreler okunuyor

17 main fonksiyonuna gelen parametrelerin kullanımı
Bu program çalıştırılabilir koda döndürüldüğünde adı ortalama olsun. Linux üzerinde terminal ekranında # ./ortalama 5 7 8 Windows üzerinde msdos komut penceresinde C:\>ortalama.exe 5 7 8 Komutu uygulandığında, programın adından sonraki parametreler karakter olarak argv dizisine aktarılırken toplam parametre sayısı da argc ye aktarılır.

18 Kullanıcı tanımlı fonksiyonlar
C dilinde programcı kendi fonksiyonlarını oluşturarak kullanabilir. Bu tür fonksiyonlara kullanıcı tanımlı fonksiyonlar denir. Genel fonksiyon tanımlaması aşağıdaki gibidir. Fonksiyonların, parametre alıp almamaları ve geriye değer döndürüp döndürmemelerine göre farklı kullanımları vardır.

19 Kullanıcı tanımlı fonksiyonlar
UYARI !!! Her fonksiyon, iyi olarak tanımlanmış tek bir işi yapacak şekilde sınırlandırılmalıdır ve fonksiyon ismi fonksiyonun görevini etkili bir biçimde açıklamalıdır. Eğer fonksiyon birden fazla görevi yerine getirmeye çalışıyorsa, bu tarzda fonksiyonları daha küçük fonksiyonlara bölmek en iyi yoldur.

20 int topla(int a, int b) Kullanıcı tanımlı fonksiyonlar
Fonksiyona girilen parametre türleri Fonksiyonun adı Fonksiyonun döndürdüğü (ürettiği) değişkenin türü Not: bu fonksiyona iki adet “int” türü değişken giriliyor, fonksiyon “int” türü bir değişken döndürüyor

21 Fonksiyonun aldığı değişkenler Fonksiyonun döndürdüğü değer
Kullanıcı tanımlı fonksiyonlar Fonksiyonun aldığı değişkenler tip fonksiyon_ismi (parametre tip listesi) { değişken tanımlamaları; işlemler; return ifadesi; } Lokal değişkenler (fonksiyon bitiminde kaybolurlar. Static tanımlanırlarsa, bu fonksiyon bir daha çağrıldığında değeri tekrar hatırlanır. Fonksiyonun döndürdüğü değer

22 Kullanıcı tanımlı fonksiyonlar
Geriye değer döndürmeyen ve parametre almayan fonksiyonlar: Bu tür fonksiyonlar, çağıran fonksiyondan ne bir değer alırlar nede geriye değer döndürürler. Geriye dönüş değeri olmadığı için fonksiyonun türü kısmına void ifadesi yazılır. Fonksiyonun türü aynı zamanda geriye dönüş değerinin türüdür. Fonksiyon türü yazılmadığında derleyici int olarak varsayar.

23 Kullanıcı tanımlı fonksiyonlar
Parametre alıp geriye değer döndürmeyen fonksiyonlar: Bu tür fonksiyonlar çağıran fonksiyondan bir yada birden fazla parametre alır ve geriye değer döndürmezler. Bu tür fonksiyonlar çağrılırken fonksiyona gönderilecek değerler yada değerleri tutan değişkenler fonksiyon parantezinin içine yazılırlar. Bu değerleri karşılayan değişkenlerde fonksiyon tanımlama kısmında parantezler içerisinde belirtilir. Gönderilen değerler karşılayan değişkenler içerisine kopyalanır. Gönderilen değerler ile karşılayan değişkenlerin sayısı eşit ve aynı sırada olmalıdır.

24 Kullanıcı tanımlı fonksiyonlar
Parametre alıp geriye değer döndürmeyen fonksiyonların kullanımına bir örnek.

25 Kullanıcı tanımlı fonksiyonlar
Parametre alıp geriye değer döndüren fonksiyonlar: Bu tür fonksiyonlar çağıran fonksiyondan bir yada daha fazla parametre alır ve bunlar üzerinde çeşitli işlemler gerçekleştirerek geriye bir değer döndürürler. Bir fonksiyondan geriye değer döndürmek için return komutu kullanılır. Bu fonksiyonlarda return komutu çalıştığı anda fonksiyonun işi biter ve fonksiyon sonlanır. Bu fonksiyon çağrıldığı fonksiyon içinde bir değişkene değer atama işleminin sol tarafında çağrılmalıdır.

26 Kullanıcı tanımlı fonksiyonlar
Parametre alan ve geriye değer döndüren fonksiyon kullanımına bir örnek.

27 Örnek – faktöriyel alan fonksiyon
Bu örnekte fonksiyonlar main () ana fonksiyonundan önce yazıldıkları için prototiplerinin tanımlanmasına gerek kalmamıştır. carp() fonksiyonu başka bir fonksiyon faktoriyel() içerisinde çağrılmıştır.

28 Fonksiyon prototipi tanımlama
Bu bölüme kadar olan örneklerde fonksiyonlar, kendisini çağıran fonksiyonların üzerinde olacak şekilde yazıldı (main() fonksiyonunun üstünde). Bunun sebebi, fonksiyonların geriye döndürecekleri değerlerin tiplerinin fonksiyonun çağrıldığı komut satırına gelmeden önce derleyiciye bildirilmesi gerektiğidir. Derleme işlemi yukarıdan aşağıya doğru yapıldığı için fonksiyonlar üstte tanımlandığında derleyici fonksiyonun geri dönüş değerinin tipini bilir.

29 Fonksiyon prototipi tanımlama
#include<stdio.h> void func1(void); int func2(int, char); void main(void) { int i=1,j=2; char ch=‘0’; printf(“%d %d\n”,i,j); func1(); j=func2(i,ch); } void func1(void) printf(“selam!\n”); Prototip tanımlar. Main içinde kullanmadan önce isimleri ve yapıları deklare edilir. main’den sonra fonksiyonları yazılacak Void tipi bir fonksiyonun çağırılması. Giriş parametresi de tanımlanmamış (void). Fonksiyon int türü bir değişken üretiyor. Dolayısıyla sonucu, int bir başka değişkene atanabiliyor. parametreleri de bir int ve bir char. En üstte prototipi verilen fonksiyonlardan biri. Burada da işlevi tanıtılıyor. Prototip deklarasyonu ile giriş/çıkış seviyesinde uyumlu.

30 Fonksiyon prototipi tanımlama
Prototipler, eğer fonksiyonları programın alt kısmına yazacaksanız gerekir. Ayrıca bu şekilde bir fonksiyon içinde diğer bir fonksiyonu kullanmak mümkündür. Eğer fonksiyonları main’den önce yazarsanız, prototip deklarasyonuna gerek yoktur. Bu durumda diğer bir (a) fonksiyonu içinde kullanılan bir (b) fonksiyonu, (a)dan daha önce (yukarıya) yazılmalıdır.

31 Fonksiyon prototipi örnek

32 Fonksiyonlarda parametre akış türleri
Fonksiyonlara değerler iki farklı yöntemle gönderilirler. 1 – Değerle çağırma (call by value): Bu yöntemle çağıran fonksiyondan gönderilen değerler, çağrılan fonksiyondaki parametrelerin içerisine kopyalanırlar. Kopyaların değişmesi orijinal değerleri etkilemez. Şu ana kadar fonksiyon çağrımlarında hep bu yöntem kullanıldı. 2 – Referansla çağırma (call by reference): Bu yöntemle kopyalanan değerlerin fonksiyon içerisinde değiştirilmesi orijinallerini de etkiler.

33 Fonksiyonu Değer ile Çağırma - Örnek
!!! Şu ana kadar anlatılan konularda değer ile çağırma yöntemi kullanılmıştır.

34 Fonksiyonu Değer ile Çağırma
Değişkenin tipi ile fonksiyonun tipi farklı ise tip dönüşümü yapılmalıdır. #include <stdio.h> double kureAlan (double); #define PI int main(){ float r, alan; printf (‘’küre çapini giriniz: ’’); scanf(‘’%f’’, &r); alan = (float) kureAlan(r); printf(‘’ küre alani = %.2f’’, alan); } double kureAlan(double d){ return 4*PI*d*d; kureAlan fonksiyonundan dödürülen double değer float’a dönüştürüldü.

35 Ev Ödevi Kullanıcı tarafından girilen üç sayı içerisinden en büyüğünü bulan ve bu değeri geri döndüren enbuyuk() adında bir fonksiyon yazınız. Saati, üç argümanla (saat,dakika ve saniye) alan ve saat 12:00’ den girilen saate kadar olan zamanı saniye cinsinden hesaplayıp döndüren bir fonksiyon yazınız. Daha sonra ayrı bir fonksiyon ile girilen iki saat arasındaki farkı 12'lik saat dilimine göre hesaplayan bir program yazınız. Bir tamsayı değeri alan ve bu sayıyı basamaklarını tersten yazıp döndüren bir fonksiyon yazınız. Örneğin verilen sayı 7631 ise fonksiyon 1367 geri göndermeli.

36 Ev Ödevi Eğer bir sayının kendisi hariç, bütün çarpanlarının toplamı yine o sayıya eşitse bu sayıya MÜKEMMEL SAYI denir. Örneğin, 6 bir mükemmel sayıdır. Çünkü 6 = mukemmelSayi() isminde parametre olarak aldığı sayının mükemmel bir sayı olup olmadığını tespit eden bir fonksiyon yazınız. Bu fonksiyonu arasındaki tamsayılardan mükemmel olanlarını bulmak için bir program içinde kullanınız. Program sayının mükemmel olduğunu göstermek için mükemmel sayınının çarpanlarını ekrana yazdırsın. "Tuttuğum Sayıyı Tahmin Et" oynatan bir program yazınız. Program arasında rasgele bir tamsayı üretsin, kullanıcı bir sayı tahmininde bulunduktan sonra ekrana aşağıdaki ifadelerden birisini yazsın.

37 Örnek Uygulamalar Barbut Oyunu – oyunun kuralları
Oyuncu iki zarı aynı anda atar. Zarlar durduktan sonra her iki zarında üste gelen yüzleri toplanır. Eğer toplam ilk atışta 7 ya da 11 ise oyuncu kazanır. Eğer toplam ilk atışta 2,3 ya da 12 gelirse (buna barbut denir) oyuncu kaybeder. Eğer ilk atışta toplam 4,5,6,8,9,10 ise bu toplam oyuncunun oyunu kazanma sayısı haline gelir. Kazanmak için oyuncu bu sayıyı bulana kadar zarları atmaya devam eder. Zarları atmaya devam ederken kendi sayısı yerine 7 atarsa kaybeder. Programda zar atış işlemi için, zar sonuçlarının değerlendirilmesi için ve 4,5,6,8, 9 ve 10 sayılarının gelmesi durumu için ayrı fonksiyonlar tasarlayınız.

38 Bir fonksiyona istenilen sayıda eleman gönderme
Aynı fonksiyona istediğimiz sayıda argüman gönderebiliriz. Bu amaçla “stdarg.h” kütüphane başlık dosyasında tanımlı olan değişken ve metotları kullanırız.

39 Bir fonksiyona istenilen sayıda eleman gönderme

40 Makro Fonksiyonlar Makro fonksiyon programcının çok sık kullandığı kod parçasına simgesel isimler vererek tanımlaması ile oluşturulurlar. Makrolar, bir isim ile bu isimin yanında bulunan parantez arasındaki parametreler ve tanımdan oluşurlar. Bu işlem “#define” tanımlaması ile yapılır. Genel formatı: #define MAKRO_ADI (parametre listesi) ifade #define max (x, y) ((x) > (y) ? (x) : (y))

41 Makro Fonksiyonlar Makrolar karışık olmamalı, tek bir komut ile ifade edilmelidir. Basit makrolar programı büyütebilirler, ancak fonksiyonlardan daha hızlı çalışırlar.

42 Programlama Dilleri-ders04/
Makro Fonksiyonlar Programlama Dilleri-ders04/

43 Depolama sınıfları Bir değişken tanımlanırken değişkenin türü, değişkenin ismi ve değişkenin değeri olmak üzere üç özellik tanımlanır. Bu özelliklere ek olarak değişkenlerin depolama sınıfı (storage classes), ömrü (duration) ve faaliyet alanı (scope) kavramları vardır. C programlama dilinde auto, register, static, extern, belirleyicileri ile tanımlanabilecek 4 tür depolama sınıfı vardır. Bu belirleyiciler ile tanımlanan değişkenler ömürleri itibariyle ikiye ayrılırlar. Bunlar otomatik depolama ömürlüler (automatic storage classes) ve durağan depolama ömürlüler (static storage classes) dir.

44 Depolama sınıfları auto: int a; char b; ... gibi tanımlamakla aynıdır. İşletim sisteminin uygun gördüğü yerde depolanır. static: static int i; bu değişkenin değeri, tanımlandığı fonksiyon tekrar çağırıldığında kaybolmamış olur. Değişken son değerini korur. register: register char ch; eğer bir değişken çok fazla kullanılacaksa register olarak tanıtılarak programın çalışması hızlandırılabilir. Register’a erişim hafızaya erişimden daha hızlıdır. Sadece tam sayı ve karakter tanımlamaları için kullanılabilir. extern: extern int sicaklik; bir dosya için geçerli değişkenlerin diğer dosyalar içinde geçerli hale gelmesi için, dosyaların başına diğer dosyaların global değişkenleri yazılır ve başına " . extern" getirilir

45 Otomatik depolama ömürlüler (Automatic storage classes)
Bu tür değişkenler auto veya register anahtar kelimeleri kullanılarak tanımlanan değişkenlerdir. Bir değişkenin otomatik ömürlü olması; fonksiyon çağırıldığında oluşturulur, işlevi bitince otomatik olarak yok edilir. Sadece değişkenler otomatik ömürlüdürler. Bir fonksiyonun yerel (local) değişkenleri (bunlar fonksiyonun parametre listesinde yada gövdesi içinde tanımlanmış olanlar olabilir) normal olarak bir belirleyici yazılmadığında varsayılan olarak otomatik ömürlüdürler.

46 Durağan depolama ömürlüler (Static Storage Classes)
Bu tür değişkenler ya da fonksiyonlar extern veya static anahtar kelimeleri kullanılarak tanımlanırlar. Bir tanımın durağan depolama ömürlü olması; programın çalışmaya başlaması ile hafızaya yerleştirileceği ve program sonlanana kadar hafızadan silinmeyeceği anlamına gelir. Global değişkenler, global fonksiyonlar ve static anahtar kelimesi ile tanımlanmış olan yerel değişkenler bu sınıf içerisine girerler. Global değişkenler ve fonksiyonlar varsayılan olarak extern tanımlıdırlar. Global değişkenler fonksiyonların dışında tanımlanan değişkenlerdir. Bir değişkenin global olması programın çalıştığı andan itibaren bellekte tutulması anlamına gelir.

47 Durağan depolama ömürlüler (Static Storage Classes)
Global değişkenler ve fonksiyonlar tanılandıkları noktadan programın sonuna kadar her yerde kullanılabilirler. Static anahtar kelimesi ile tanımlanmış olan yerel değişkenler yalnızca tanımlandıkları fonksiyon içerisinde kullanılabilirler ancak otomatik değişkenlere benzemezler. Bu tür değişkenler fonksiyon çalıştığı anda hafızaya yerleşirler ve program bitene kadar bellekte kendileri ve değerleri saklanır. Aynı fonksiyon bir kere daha çalıştırıldığında static olarak tanımlanmış olan değişken, bir önceki çalışmadan kalan değerini kullanmaya devam eder. Bütün durağan ömürlü tanımlanan sayısal değişkenlerin ilk değerleri 0 olarak belirlenir.

48 Durağan depolama ömürlüler - örnek
Bu değişkenin değeri sadece fonksiyon ilk çağırıldığında 10’a atanır. Sonra kaldığı değer fonksiyon her çağrıldığında hatırlanır. void a(void) { int x=10; printf(“%d\n”,x); x++; } void b(void) static int x=10; void main(void) { a(); b(); } a: 10 11 b: 10 11 12 13 14

49 Faaliyet alanı kuralları (scope rules)
Değişkenin geçerli olduğu yani kullanılabileceği program parçasına o değişkenin faaliyet alanı denir. Örneğin bir blok ( { ve } işaretleri arasındaki program parçası) içerisinde tanımlanan yerel değişkenler yalnızca o blok ve o bloğun içerisindeki bloklarda geçerlidir. C programlarında, dosya faaliyet alanı (File scope), blok faaliyet alanı (Block scope) ve fonksiyon faaliyet alanı (Function scope) olmak üzere üç tür faaliyet alanı vardır.

50 Faaliyet alanları Dosya faaliyet alanı: Blok faaliyet alanı:
Bir tanımlama fonksiyonların dışında yapıldığı zaman tanımlanan değişken dosya faaliyet alanına sahiptir. Bunlar tanımlamanın yapıldığı noktadan dosyanın sonuna kadar bütün fonksiyonlar tarafından tanınır ve kullanılırlar. Global değişkenler, fonksiyon tanımlamaları ve fonksiyon prototipleri dosya faaliyet alanına girer. Blok faaliyet alanı: Bir blok içerisindeki bütün bildiriler blok faaliyet alnına sahiptir. Bunların faaliyet alanı blok sonunu gösteren } işaretine kadardır. Bloklar iç içe yazıldığında dıştaki blok içerisindeki değişkenler içteki blok içerisinde de geçerlidir. Dıştaki ve içteki bloklar aynı isimde değişkenlere sahip olabilirler, ancak iç bloktaki değişken dış bloktakini maskeler. Fonksiyon faaliyet alanı: Fonksiyon faaliyet alanı da blok faaliyet alnı gibi düşünülebilir. Fonksiyon parametre listesinde ve gövdesinde tanımlanan değişkenler yalnızca o fonksiyon içerisinde geçerlidirler. Static anahtar kelimesi ile tanımlanmış olan yerel değişkenler programın çalışmasından sonuna kadar bellekte tutulurlar ancak blok faaliyet alanına sahiptirler. Faaliyet alanları değişkenlerin ömürlerinin etkilemez.

51 faaliyet alanlarına göre değişkenlerin değerlerinin nasıl değiştiğini gösteren bir program

52 faaliyet alanlarına göre değişkenlerin değerlerinin nasıl değiştiğini gösteren bir program


"C PROGRAMLAMA FONKSİYONLAR Hazır fonksiyonlar (math, rand) Kullanıcı Tanımlı Fonksiyonlar Değer ile Çağırma." indir ppt

Benzer bir sunumlar


Google Reklamları