Ücretsiz Full C Programlama Dili Öğren -3 | C Programlama Eğitimi

C PROGRAMLAMA DİLİ EĞİTİM ve ÖRNEKLER -2

C programlama dili diziler nedir ? C dili biçimlendirilmiş giriş/çıkışlar nedir ? Çok boyutlu diziler nedir ? Bu ve benzeri sorulara cevap aradığımız C programlama dili eğitim ve örnekler – 2 adlı yazımızla karşınızdayız.

Başlayalım.

Not : C dili örnekleri için -> TIKLA

C PROGRAMLAMA DİLİ EĞİTİMİ -2

DİZİLER :  

Birbiriyle ilişkili ve aynı tipte verileri içeren veri yapılarıdır diziler.Dizi elemanları ‘ [ ] ‘ köşeli parantez ile çağrılır ve her dizinin ilk elemanı sıfırıncı elemandır.

Köşeli parantez içinde bulunan sayı , belirteç(subscript) olarak adlandırılır.Eğer program belirteç kullanıyorsa , deyim belirtecin değerine karar vermek için hesaplanır.Örnek verecek olursak ;

c [ a + b ] += 2;      Burada a =5 ve b=6 olsun.Bu ifade c[11] elemanına 2 ekle anlamına gelir.

Not : ‘ Dizinin yedinci elemanı’ ile ‘yedinci dizi elemanı’ arasında fark vardır.Dizinin yedinci elemanı aslında dizinin 6. Elemanı iken yedinci dizi elemanı 7 belirtecine sahiptir.Bu durum ‘bir eksik(off-by-one) hatalarının ana kaynağıdır.

#Define tanımına bakacak olursak ;

#define BOYUT10 satırında  ; 10 değerine sahip ve boyut isminde sembolik bir sabit yaratılır.Bu sabitler C önişlemcisi tarafından derleme esnasında yerdeğiştirme metni ile değiştirilecek olan tanıtıcılardır.

Burada dikkat edilmesi gereken konu ; #define ve #include önişlemci komutlarının sonuna ‘ ; ‘ konulmamalıdır.

Bir karakter dizisine  scanf ve %s dönüşüm belirtecini kullanarak klavyeden okuyacağımız bir string alabilir.

Örnek : scanf (“%s”, string2);

Char string2[20]; bildirimi 19 karakter ve sonlandırıcı null karakterini tutacak bir karakter dizisi yaratır.Char tipte bir dizi karakter stringlerini depolamakta kullanılabilir.

Yerel dizi bildirimlerinde static kullanılarak , dizinin fonksiyon her çağrıldığında yeniden yaratılmasını ve fonksiyondan her çıkıldığında dizinin yok edilmesini engelleyebiliriz.

Bir dizi kabarcık sıralama tekniği ile sıralanabilir.

Tut = a[i];

A[i] = a [i+1];

A [i+1] = tut;

Dizileri Fonksiyonlara Geçirmek :

Dizi argümanını fonksiyona geçirebilmek için , dizinin ismini parantez kullanmadan belirtmelisiniz.

Örnek : int saatliksicaklik [24] ; olarak belirtilmişse , diziayarla (saatliksicaklik,24); fonksiyon çağrısı , saatliksicaklik dizisini ve boyutunu diziayarla fonksiyonuna geçirir.

‘ %p ’ dönüşüm belirteci , adresleri yazdırmak için kullanılan özel bir belirteçtir.Genelde adresleri onaltılık sistemde yazdırır.

Lineer arama küçük ya da sıralanmamış dizilerde iyi bir şekilde çalışır.Ancak büyük diziler için lineer arama yetersiz kalmaktadır.

ÇOK BOYUTLU DİZİLER :

Bir tablo elemanı belirleyebilmek adına iki belirteç kullanılır.İlk belirteç genel olarak eleman satırını , ikincisi ise genel olarak eleman sütununu belirler.

Örnek : int b [2] [2] = { 1,2} , { 3,4} ;

Çok boyutlu bir diziye bildirim esnasında atama listeleri kullanılarak değerler atanabilir.

GÖSTERİCİLER(Pointers) :

Göstericiler , değer olarak hafıza adreslerini içeren değişkenlerdir.Bir değeri gösterici ile belirtmek dolaylama yapmak (indirection) olarak adlandırılır.

Örnek :    int *sayiciPtr , sayici ;  Burada sayiciPtr değişkenini  ( int * ) bir tamsayıyı gösteren tipte bildirir. ‘ * ‘ yalnızca sayiciPtr’ye uygulanır.

Göstericilere , bildirimlerde ya da atama ifadelerinde değer atanmalıdır.Bir göstericiye ‘ 0 ‘ ,  NULL , ya da bir adres atanabilir.

Bir dizide ;  bPtr = &b[0] ; gösterici ile aynı işi yapar.

*(bPtr + 3 )  gösterici deyiminde bulunan ‘ 3 ‘ , göstericinin offsetidir.

Const char *takim [4] = {“kupa” , “karo” , “sinek” , “maça”};

Bu ifade 4 elemanlı bir diziyi belirtmektedir.Char* kısmı , takim dizisinin her elemanının char tipte bir gösterici olduğunu belirtmektedir.

Bir gösterici , eğer göstericiler aynı tipte ise başka bir göstericiye atanabilir.Burada tek istisna (void*)’tir.Tüm göstericiler void göstericiye atanabilir ve void gösterici her tipte göstericiye atanabilir.

KARAKTER VE STRINGLER :

Bir string harf , rakam ve özel karakterler içerebilir.C dilinde bir string , null karakterler (‘\0’) sonlanan bir karakter dizisidir.

Bir string’in değeri ilk karakterinin adresidir.

Karakter kütüphanesinden fonksiyonlar kullanırken <ctype.h> öncü dosyasını programımıza dahil etmeliyiz.

Karakter Kütüphanesi :

İnt isdigit (int c) ;  c bir rakam ise doğru bir değer , değilse 0 (yanlış) döndürür

İnt isalpha (int c) ; c bir harf ise doğru bir değer , değilse 0 (yanlış) döndürür

İnt iaslnum (int c) ; c bir harf ya da rakamsas doğru bir değer , değilse 0 (yanlış) döndürür

İnt isxdigit (int c) ; c onaltılık sistemde bir rakam değeri karakteri ise doğru bir değer , değilse  0 döndürür

İnt islower (int c)  ; c küçük bir harf ise doğru bir değer , değilse 0 döndürür

İnt isupper (int c ) ; c büyük bir harf ise doğru bir değer , değilse  0 döndürür

İnt tolower (int c ) ; c büyük harf ise , tolower c’yi küçük harfe çevirip döndürür , değilse tolower argümanı değiştirmeden döndürür

İnt toupper (int c) ; c küçük harf ise , toupper c’yi büyük harfe çevirip döndürür , değilse toupper argümanı değiştirmeden döndürür

İnt isspace (int c) ; c yeni satır (‘\n’) , boşluk (‘ ’) , form besleme (‘\f ’) , satır başı (‘\r ’) , yatay tab(‘ \t ’),  ya da düşey tab (‘ \v ‘) karakterlerinden biriyse doğru bir değer , değilse 0 döndürür

İnt iscntrl (int c) ; c bir kontrol değişkeni ise doğru bir değer , değilse 0 döndürür

İnt ispunct (int c) ; c boşluk , rakam ya da harften başka bir yazdırma karakteri ise doğru bir değer , değilse 0 döndürür

İnt isprint (int c) ; c boşluk (‘ ’) karakteri de dahil olmak üzere bir yazdırma karakteri ise doğru bir değer , değilse  0 döndürür

İnt isgraph (int c ) ; c boşluk karakteri haricinde bir yazdırma değeri ise doğru bir değer , değilse 0 döndürür

String Dönüşüm Fonksiyonları :

Burada genel amaçlı kütüphanede bulunan (stdlib) string dönüşüm fonksiyonlarını inceleyeceğiz.

Bu fonksiyonlar , rakam stringlerini tamsayı ve ondalıklı sayı değerlerine dönüştürür.

nPtr ; karakter sabitini gösteren bir gösterici

const ; argümanın sabit olduğunu bildirir

double atof (const char *nPtr) ;       nPtr stringini double’a dönüştürür

int atoi (const char *nPtr);      nPtr stringini int’e dönüştürür

long atol (const char *nPtr);     nPtr stringini long int’e dönüştürür

double strtod (const char *nPtr , char **endPtr) ;     nPtr  stringini double’a dönüştürür

lond strol (const char *nPtr , char **endPtr , int base );       nPtr stringini long’a dönüştürür

unsigned long strtoul (const char *nPtr , char **endPtr , int base);      nPtr stringini unsigned long’a dönüştürür

c dili eğitimi ve örnekler

Standart Giriş / Çıkış Kütüphane Fonksiyonları :

Burada standart giriş / çıkış kütüphanesindeki (stdio) karakter ve string verilerini ele alan fonksiyonları inceleyeceğiz.

Bu fonksiyonları kullanırken , programa <stdio.h> öncü dosyasını eklemelisiniz.

İnt getchar(void) ;    Standart girişteki karakteri alır ve tamsayı olarak döndürür

Char *gets(char *s);    Standart girişten aldığı karakterleri , yeni satır ya da dosya sonu belirteci ile karşılaşıncaya dek s dizisine alır.Sonlandırıcı null karakter diziye eklenir

İnt putchar (int c);    c içindeki karakteri yazdırır

İnt puts (const char *s);    yeni satır karakteri ile devam edilen bir stringi yazdırır

İnt sprint (char *s,const char *format,…);      printf ile denktir , ancak çıktılar ekran yerine s dizisine gönderilir

İnt sscanf (char *s, const char *format,….);      scanf ile denktir , ancak girdiler klavye yerine s dizisinden okunur

String Kütüphanesindeki String İşleme Fonksiyonları :

String Kütüphanesi , string verilerini ele almak , stringleri karşılaştırmak , stringlerde karakterler ya da başka stringler aramak , stringleri mantıklı parçalara ayırmak ve stringlerin uzunluğuna karar vermek gibi birçok kullanışlı fonksiyon sunar.

Char *strcpy (char *s1,const char *2);      s2 stringini s1 dizisi içine kopyalar, s1’in değeri döndürülür

Char *strncpy (char *s1,const char *s2, size_t n) ;     s2 stringinin en fazla n karakterini s1 dizisi içine kopyalar.S1’in değeri döndürülür

Char *strcat (char *s1,const char *s2);    s2 stringini s1 dizisine ekler.S2’nin ilk karakteri s1 dizisinin null karakteri üzerine yazılır.S1’in değeri döndürülür.

Char *strncat (char *s1,const char *s2,size_t n) ;   s2 stringinin en fazla n karakterini s1 dizisine ekler.S2’nin ilk karakteri s1 dizisinin null karakteri üzerine yazılır.S1’in değeri döndürülür.

Not : strncpy ve strncat  fonksiyonlarının  size_t parametresini kullandığına dikkat edilmelidir.size_t standart tarafından , sizeof operatörünün döndürdüğü değerin tipidir.

Size_t tipi ; sisteme bağlı olmak kaydıyla , unsigned long ya da signed int tipine eştir.

Not :

ASCII (American Standart Code for Information Interchange)

EBCDIC (Extended Binary Coded Decimal Interchange Code)

String Kütüphanesindeki Arama Fonksiyonları ;

Burada string kütüphanesinde yer alan ve stringlerin içinde karakter ve başka stringleri aramak için kullanılan fonksiyonlar incelenmektedir.

Char *strchr (const char *s,int c);    c’nin s stringi içindeki ilk konumunu belirler.Eğer c bulunursa,  c’yi gösteren bir gösterici döndürülür.Aksi takdirde Null  gösterici döndürülür

Size_t strcspn (const char *s1 , const char *s2) ;   s1 stringinde , s2 stringi içindeki karakterlerden oluşmayan ilk kısmı bulur ve bu kısmın uzunluğunu döndürür

Size_t strspn (const char *s1 , const * s2);   s1 stringi içinde , yalnızca s2 stringi içindeki karakterlerden oluşan ilk kısmı bulur ve bu kısmın uzunluğunu döndürür

Char *strpbrk (const char *s1 , const char *s2);    s2 içinde herhangi bir karakterin s1 stringi içinde yer aldığı ilk konumunu bulur.Eğer s2 stringi içindeki bir karakter s1 içinde bulunursa , s1 içindeki karakteri gösteren bir gösterici döndürür.Aksi takdirde , NULL gösterici  döndürür.

Char *strrchr (const char  *s, int c );     s stringi içinde , c karakterinin en son konumunu belirler.Eğer c bulunursa,  s stringi içindeki c’yi gösteren bir gösterici döndürülür.Aksi takdirde ,NULL gösterici döndürülür.

Char *strstr (const char *s1 , const char *s2);    s2 stringi içinde , s1 dizisinin son konumu belirler.Eğer string bulunursa , s1 stringini gösteren bir gösterici döndürülür.Aksi takdirde null döndürülür.

Char *strtok (const  char *s1 , const char *s2);    bir dizi strtok çağrısı s1 stringini , s2 içinde belirtilen karakterle ayrılmış atomlara ayırır.İlk çağrı ilk argüman olarak s1 alırken, daha sonraki çağrılar argüman olarak NULL alır.Her çağrıda o andaki atomu gösteren bir gösterici döndürülür.Eğer fonksiyon çağrıldığında daha fazla atom yoksa NULL döndürülür.

String Kütüphanesinde Hafıza Fonksiyonları :

Burada string kütüphane fonksiyonlarını , hafıza bloklarının kullanımını , karşılaştırma ve arama  işlemlerini inceleyeceğiz.

Fonksiyon tanımında kullanacağımız ‘nesne’ veri bloğu anlamında kullanılmıştır.

Void *memcpy (void *s1,const void *s2 , size t_n) ;   s2 ile gösterilen nesneden n karakteri s1 ile gösterilen nesneye kopyalar.Sonuçta , oluşan nesneyi gösteren bir gösterici döndürülür.

Void *memmove (void *s1,const void *s2, size t_n);   s2 ile gösterilen nesneden n karakteri s1 ile gösterilen nesneye kopyalar.Kopyalama işlemi, s2 ile gösterilen nesnedeki karakterler önce geçici bir diziye kopyalanıp daha sonrada bu geçici diziden s1 ile gösterilen nesneye kopyalanıyormuş gibi yapılır.Sonuç olarak oluşan nesneyi gösteren bir gösterici döndürülür.

İnt memcmp (const void *s1 , const void *s2, size_t n) ;   s1 ile s2 gösterilen nesnelerin ilk n karakterlerini karşılaştırır.Fonksiyon s1 s2’ye eşitse 0 , s1 s2’den küçükse 0’dan küçük , s1 s2’den büyükse 0’dan büyük bir değer döndürür.

Void *memchr (void *s , int c , size_t n) ;   s ile gösterilen nesne   içinde c’nin (unsigned char’a dönüştürülür) ilk bulunduğu konumu belirler.Eğer c bulunursa , nesne içindeki c’nin konumunu gösteren bir gösterici döndürülür.Aksi takdirde , NULL döndürülür

Void *memset (void *s , int c , size_t n) ;    s ile gösterilen nesnenin ilk n karakterine , c (unsigned int’e dönüştürülür) kopyalar.Sonucu gösteren bir gösterici döndürülür.

Buradaki fonksiyonların gösterici parametreleri ‘ void * ‘ olarak bildirilmiştir.

String Kütüphanesindeki Diğer Fonksiyonlar :

Char *strerror (int errornum) ;      Sisteme bağımlı olmak üzere , hata sayısını bir metin stringi haline dönüştürür.Stringi gösteren bir gösterici döndürülür.

Size_t strlen (const char *s ) ;      S stringinin uzunluğunu bulur.NULL karakterden önceki karakterlerin sayısı döndürülür.

Not :

Karakter dizilerinin sonunda bulunan ‘null’ karakterini depolamak için gerekli alanı ayırın.Sonlandırıcı null karakterini içermeyen bir stringi yazdırmak hataya sebep olur.

BİÇİMLENDİRİLMİŞ GİRİŞ/ÇIKIŞLAR  :

Bu bölüm scanf ve printf fonksiyonlarını detaylı bir biçimde incelemeye alacağımız bölümdür.Bunlara  ek olarak kullanılan diğer 4 fonksiyon ‘ gets , puts  , getchar , putchar ’dır.

Printf fonksiyonu aşağıdaki biçime sahiptir ;

Printf ( biçim kontrol dizesi  ,  diğer argümanlar );

Burada biçim kontrol dizesi , çıktının biçimini tanımlar ve diğer argümanlar biçim kontrol dizesindeki her dönüşüm tarifinin karşılığıdır.

Biçim kontrol dizesi ‘ tırnak  ‘ içine alınmalıdır.

Tamsayıları Ekrana Yazdırmak :

Dönüşüm Belirteci   &        Açıklamaları            

d     :     işaretli bir tamsayıyı (onluk sistemde ) gösterir.

i      :     işaretli bir tamsayıyı (onluk sistemde) gösterir.

o     :   (i ve d yalnız scanf ile kullanıldığında farklıdır.) İşaretsiz bir tamsayıyı (sekizlik sistemde) gösterir

u    :     İşaretsiz bir tamsayıyı (onluk sistemde) gösterir.

x   ya da X : İşaretsiz bir tamsayıyı (onaltılık sistemde) gösterir.X , 0-9 rakamlarının ve A-F harflerinin gösterilmesini ve x, 0-9 rakamları ve a-f harflerinin gösterilmesini sağlar.

h ya da 1 (1 harfi)   :   herhangi bir tamsayı belirtecinden önce kullanıldığında sırasıyla , short ya da long bir tamsayının gösterileceğini belirtir.

Ondalıklı Sayıları Yazdırmak :

e ve E dönüşüm belirteçleri , ondalıklı sayıları üssel yazılım biçiminde  gösterir.

Örnek olarak : 150.4582 değeri , 1.504582 x 10^2 şeklinde temsil edilir.

Bu ifade bilgisayarda ;  ‘’ 1.504582E + 02 ‘’ şeklinde gösterilir.Burada E (exponent) üs anlamındadır ve E+02 10’un 2. Kuvveti ile çarpılacağını bildirir.

E , e , f dönüşüm belirteci ile yazdırılan değerler 6 basamak duyarlıkta yazdırılırlar.

G , g  dönüşüm belirteci , birbirini izleyen sıfırları yazdırmadan e (E) ya da f biçiminde yazdırır. Örnek olarak ;    1.2340000 değerini  1.234 olarak yazdırır.

%g dönüşüm belirteci ile örnek  vermek gerekirse  ;

0.0000875 ifadesi 8.75e-05 olarak , 8750000.0 ifadesi de 8.75e+06 şeklinde yazdırılır.

Dönüşüm Belirteçleri   & Açıklama

E ya da e    :     ondalıklı bir değeri üssel yazılım biçiminde gösterir.

f                  :      ondalıklı sayıları gösterir.

G yada  g   :      ondalıklı değerleri f ya da e (ya da E ) üssel biçiminde gösterir.

L       :         herhangi bir dönüşüm belirtecinden önce kullanıldığında , bir long double ondalıklı değerin yazdırılacağını belirtir.

String Karakterlerini Yazdırmak :

C ve s  dönüşüm belirteçleri sırasıyla , karakterleri ve stringleri yazdırmak için kullanılır.

C dönüşüm belirteci , bir char argümana ihtiyaç duyar.

S dönüşüm belirteci , sonlandırıcı null karakterle (‘\0’) karşılaşıncaya dek karakterleri yazdırır.

Diğer Dönüşüm Belirteçleri :

Dönüşüm Belirteci & Açıklama :

P     :   bir gösterici değerini uygulama bağımlı olarak yazdırır .

N     :   o andaki printf ifadesinde yazdırılan karakter sayısını tutar.İlgili argüman olarak tamsayı gösteren bir gösterici alır.Hiçbirşey yazdırılmaz.

%    :      Yüzde karakterini yazdırır.

Printf Fonksiyonu Çıktıları Biçimlendirme

( – )  Eksi İşareti ) : Belirtilen alanda çıktıyı sola yaslar

( + )    (Artı işareti ) :    Pozitif değerlerden önce artı ve negatif değerlerden önce eksi işaretini yazdırır

Boşluk                  :    + bayrağı ile yazdırılmamış pozitif bir değerden önce boşluk yazdırır

#                            :     sekizlik dönüşüm belirteci (o) ile kullanıldığında yazdırılan değerin önüne 0 ekler.

0 (sıfır)                  :    bir alanı , önce sıfırlar gelecek biçimde 0 ile doldurur.

Not : Biçim kontrol dizesi içinde bir bayrak kullanmak için , bayrağı yüzde işaretinin hemen sağına koymak gerekmektedir.

Çıkış Dizilerini ve Hazır Bilgileri Yazdırmak :

\’           : Tek tırnak (‘) karakterini yazdırır

\”    : Çift tırnak (“) karakterini yazdırır

\?    : Soru işareti (?) karakterini yazdırır

\\     : Ters çizgi (\) karakterini yazdırır

\a   : Duyulabilen (zil)  ya da görülebilen bir alarm çalıştırır.

\b    : İmleci o andaki konumundan bir geriye taşır

\f    : İmleci bir sonraki sayfanın başına taşır

\n    : İmleci bir sonraki yeni satırın başına taşır

\r    :  İmleci o andaki satırın başına taşır

\t    :  İmleci bir sonraki yatay tab konumuna taşır

\v    :  İmleci bir sonraki düşey tab konumuna taşır

Scanf ile Girişi Biçimlendirmek :

Scanf (biçim kontrol dizesi , diğer argümanlar ) ;

D     : Tercihe bağlı olarak onluk sistemde  işaretli bir tamsayı okur.İlgili argüman tamsayıyı gösteren bir göstericidir.

İ     :  Tercihe bağlı olarak onluk , sekizlik ya da onaltılık sistemde işaretli bir tamsayı okur.İlgili argümanı , tamsayıyı gösteren bir göstericidir.

O    :   Sekizlik sistemde  bir tamsayı okur.İlgili argüman , işaretsiz bir tamsayı gösteren bir göstericidir.

U    :   Onluk sistemde bir tamsayıyı okur

X ya da x  : Onaltılık sistemde bir tamsayı okur

H ya a 1    :  Herhangi bir tamsayı dönüşüm belirtecinden önce yerleştirildiğinde , short ya da long bir tamsayının girileceğini belirtir.

Ondalıklı Tamsayılar ;

E , e , f , g ya da G   : Ondalıklı bir tamsayıyı okur

I ya da L   : Herhangi bir dönüşüm belirtecinden önce yerleştirildiğinde double ya da long double bir değerin girileceğini belirtir.

Karakter ve Stringler ;

C    : Bir karakter okur ve char gösteren bir göstericidir.

S    : Bir string okur.Stringi  ve sonlandırıcı null karakterini depolamaya yetecek kadar geniş , char tipinde bir diziyi gösteren bir göstericidir.

Nadir Kullanılan Operandlar  ;

P     :    Printf ile  %p  kullanıldığında oluşturulan biçimle aynı biçimdeki bir adresi okur

N    :   scanf ile o ana kadar alınan karakter sayısını depolar.

YAPILAR , BİRLİKLER , BİT İŞLEME ve SAYMA BİTLERİ (enumarations)  :

Yapılar ; birbiriyle ilişkili değişkenlerin bir isim altında toplanması işlemidir.

Örnek bir veri tanımı :

Struct kart {

Char *taraf;

Char *takim;   };

Burada struct anahtar kelimesi yapı tanımını başlatır.Kart tanıtıcısı ‘yapı etiketidir’.Bu örnekte yapı tipi ; struct kart’tır

Yapı tanımını sonlandıran ‘ ; ’ unutulmamalıdır.

Örnek :

Struct kart a  ,deste [52] , *cPtr ;    örneğinde , struct kart tipinde bir a değişkeni , struct kart tipinde 52 elemana sahip bir deste dizisi ve  struct kart’ı gösteren bir gösterici değişkeni bildirir.

Yapılara İlk Değer Atanması :

Aynı dizilerde olduğu gibi atama listeleri ile ilk atama yapılır.

Örnek :      struct kart a ={“kupa”, “sinek”};

Yapı Elemanlara Ulaşmak :

Bunun için kullanılan İki operatör vardır ;

Yapı elemanı operatörü (. )

Yapı gösterici operatörü  (->)

Yapı elemanı operatörü , yapı elemanına yapı değişkeninin ismini kullanarak erişir.

Ör : printf (“%s”, a.takim);

Yapı gösterici operatöründe ise ; struct kart yapısını göstermek adına , aPtr göstericisinin bildirildiğini ve ‘a’ yapısının aPtr’ye atandığını düşünelim.

Printf (“%s”, aPtr -> takim);

aPtr -> takim deyimi   =  (*aPtr).takim ‘ e eşittir.

Not :  -> ve . operatörlerinden önce ve sonra boşluk bırakmayın. Bir yapı elemanını , gösterici ve yapı elemanı operatörünü belirtirken parantez kullanın  . Yanlış Kullanım  : *aPtr.takim

Yapıları Fonksiyonlara Kullanmak :

Typedef :

Bu anahtar kelime , daha önceden tanımlanmış veri tipleri için eşanlamlı sözcükler yaratan bir mekanizma sağlar.

Genelde typedef , yapı tanımlamalarında kullanılır ve böylece yapı etiketi kullanımına gerek kalmaz.

Kısaca typedef ile  yeni bir isim yaratmak yeni bir tip yaratmaz  , daha önceden var olan bir tip ismi için , eş anlamlı olarak kullanılabilecek yeni tip isimleri yaratır.

C PROGRAMLAMA DİLİ EĞİTİM ve ÖRNEKLER -2 SONUÇ :

Bugünki yazımızda C programlama dili eğitim ve örnekler -2 adlı yazımızı sizlerle paylaştık.Umuyorum ki faydalı birtakım bilgiler edinmişsinizdir.

İyi Çalışmalar.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.