Mozilla Türkiye Gönüllü Topluluğu Blog

C Öğreticisi 18 (Typedef)


Bu yazılar https://www.tutorialspoint.com/cprogramming/ adresindeki yazı dizilerinin çevirileridir.

C programlama dili bir türe yeni bir ad vermek için kullanabileceğiniz typedef anahtar kelimesini içerir. Bir baytlık sayılar için BYTE terimini tanımlama örneği -

	
typedef unsigned char BYTE;
	

Bu tanımlamadan sonra, BYTE tanımlayıcısı unsigned char tipi yerine kısaltma olarak kullanılabilir.

	
BYTE b1, b2;
	

Kural olarak, bu tanımlarda kullanıcıya tür adının gerçekten sembolik bir kısaltma olduğunu hatırlatmak için büyük harfler kullanılır, ancak aşağıdaki gibi küçük harf kullanabilirsiniz -

	
typedef unsigned char byte;
	

Kullanıcı tanımlı veri türlerinize de bir ad vermek için typedef’i kullanabilirsiniz. Örneğin, yeni bir veri türü tanımlamak için yapı ile typedef’i kullanabilir ve ardından yapı değişkenlerini doğrudan aşağıdaki gibi tanımlamak için bu veri türünü kullanabilirsiniz -

	
#include 
#include 
typedef struct Kitaplar {
char baslik[50];
char yazar[50];
char konu[100];
int kitapKimligi;
} Kitap;
int main( ) {
Kitap kitap;
strcpy( kitap.baslik, “C Programlama”);
strcpy( kitap.yazar, “Nuha Ali”);
strcpy( kitap.konu, “C Programlama Egiticisi”);
kitap.kitapKimligi = 6495407;
printf( “Kitap basligi : %s\n”, kitap.baslik);
printf( “Kitap yazari : %s\n”, kitap.yazar);
printf( “Kitap konusu : %s\n”, kitap.konu);
printf( “Kitap kimligi : %d\n”, kitapKimligi);
return 0;
}
	

Derlenip çalıştırıldığında -

	
Kitap basligi : C Programlama
Kitap yazari : Nuha Ali
Kitap konusu : C Programlama Egiticisi
Kitap kimligi : 6495407
	

Typedef vs #define

#define typedef’e benzer, ancak aşağıdaki farklarla çeşitli veri türleri için takma adları tanımlamak için kullanılan C direktifidir -

-typedef türlere sembolik adlar vermekle sınırlıdır; burada değerler için takma ad tanımlamak için #define kullanilabilir, örneğin 1’i BIR olarak tanımlayabilirsiniz.

-typedef yorumu derleyici tarafından yapılırken define deyimleri ön işlemci tarafından işlenir.

Aşağıdaki örnekte #define komutunun programda nasıl kullanılacağı gösterilmektedir -

	
#include 
#define DOGRU 1
#define YANLIS 0
int main( ) {
printf( “DOGRU’nun degeri : %d\n”, DOGRU);
printf( “YANLIS’in degeri : %d\n”, YANLIS);
return 0;
}
	

Kod derlenip çalıştırıldığında -

	
DOGRU’nun degeri : 1
YANLIS’in degeri : 0
	
https://www.tutorialspoint.com/cprogramming/c_typedef.htm​

Bir sonraki yazıya buradan ulaşabilirsiniz.