C Öğreticisi 18 (Typedef)

Bu yazılar 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 <stdio.h>

#include <string.h>

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 <stdio.h>

#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

Last updated