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 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 Tek bir karakteri ekranda görüntülemek için kullanılır. Genel formatı putchar(ch); #include 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 Ö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 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() % 6 ifadesi 0-5 arasında sayılar üretir. 1+rand() % 6 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 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. 16 main parametreleri Parametre sayısı sorgulanıyor Parametreler okunuyor

17 Bu program çalıştırılabilir koda döndürüldüğünde adı ortalama olsun. Linux üzerinde terminal ekranında #./ortalama Windows üzerinde msdos komut penceresinde C:\>ortalama.exe 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. 17 main fonksiyonuna gelen parametrelerin kullanımı

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) Fonksiyonun döndürdüğü (ürettiği) değişkenin türü Fonksiyonun adı Fonksiyona girilen parametre türleri Not: bu fonksiyona iki adet “int” türü değişken giriliyor, fonksiyon “int” türü bir değişken döndürüyor Kullanıcı tanımlı fonksiyonlar

21 tip fonksiyon_ismi (parametre tip listesi) { değişken tanımlamaları; işlemler; return ifadesi; } Fonksiyonun aldığı değişkenler 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 Kullanıcı tanımlı fonksiyonlar

22 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 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); printf(“%d %d\n”,i,j); } 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 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. Fonksiyon prototipi tanımlama

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 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 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 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 35 Ev Ödevi 1)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. 2)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. 3)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 36 Ev Ödevi 4)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. 5)"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 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 38 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. Bir fonksiyona istenilen sayıda eleman gönderme

39 39

40 40 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 Makro Fonksiyonlar #define max (x, y) ((x) > (y) ? (x) : (y))

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

42 Programlama Dilleri-ders04/42 Makro Fonksiyonlar

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 void a(void) { int x=10; printf(“%d\n”,x); x++; printf(“%d\n”,x); } void b(void) { static int x=10; printf(“%d\n”,x); x++; printf(“%d\n”,x); } void main(void) { a(); b(); } 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. a: b: Durağan depolama ömürlüler - örnek

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 Dosya 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. Faaliyet alanları

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

52


"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ı