Yazarlar Sözlük Makaleler Yardım Masası Gözlük Forum İstatistik

Tüm Başlıklar XML

1.  C'de tip isimlerine takma adlar* tanımlamak için kullanılan deyim.

Örneğin unsigned int tipini fazla uzun mu buluyorsunuz?
typedef unsigned int UINT;
satırı ile UINT takma adını tanımladıktan sonra artık
UINT ogr_sayisi;
gibi değişken tanımlamaları yapabilirsiniz.

Aynı şey
#define UINT unsigned int
ile de yapılabilir elbet. Ama arada önemli bir fark vardır. #define ön işlemciyi ilgilendiren bir komut iken typedef derleyiciyi ilgilendiren bir komuttur. Ayrıca typedef ile yapabildiğiniz şeyleri #define ile yapamadığınız durumlar da vardır. Örneğin
#define PCHAR char*
tanımlaması yaptınız diyelim.
char *p1, *p2, *p3;
satırını artık
PCHAR p1, p2, p3;
olarak belirtemezsiniz. Çünkü bunun anlamı
char *p1, p2, p3;
olur ki bu yanlıştır. typedef kullansaydınız olurdu.

typedef'in en önemli faydası tip isimlerini anlamlı hale getirmesidir. Örneğin bir çok fonksiyonun dönüş tipi int olabilir. Ama aslında dönen değerlerin anlamı farklıdır. Bir fonksiyonun döndürdüğü int değer kişi sayısını, bir diğeri zaman farkını, bir diğeri metre cinsinden uzunluğu gösteriyor olabilir. Bu durumda count_t, time_t, length_t gibi takma adlar kullanmak kodunuzun okunabilirliğini arttırır.

Bazı typedef bildirimleri standarta bağlanmıştır. Bkz: Standart typedef bildirimleri
fizikci
06 Şubat 2006 01:08
Bu konuda bildiklerinizi bizlerle paylaşabilirsiniz
Tabi bunun için yazarsanız giriş yapmalı, yazar değilseniz yazar olmalısınız.


Bu başlığa bkz veren girişlerin başlıkları nedir?

Bu başlığa bkz veren girişler başka hangi başlıklara bkz verdiler?
» sizof » int » long » wchar_t » ptrdiff_t » time_t » clock_t » ANSI C » time » div_t » div » pointer » clock » size_t

© 2005, Bilişim Kulübü. (1078 ms)
Ne yapabilirsin: SubtitleClick ile İngilizceni Geliştir, Çınar Framework ile kod yaz, Eglencelik.org'ta biraz eğlen