Tip Dönüşümü

Tip Dönüşümü konusuna değinilen kısım.

Tip Dönüşümü Nedir?

Tip Dönüşümü (Type Conversion veya Type Casting), bir veri tipinin başka bir veri tipine dönüştürülmesi işlemidir. Tip dönüşümü, bazen veri kaybı olmadan veya hata ayıklama amacıyla veri türlerini değiştirmek için kullanılır.

Tip dönüşümü, iki ana kategoriye ayrılır:

Otomatik (Implicit) Dönüşüm

Bu tür dönüşümler, programın derlenmesi sırasında veya çalışma zamanında otomatik olarak gerçekleşir. Genellikle daha büyük veri tiplerine doğru otomatik olarak dönüşüm yapılır ve veri kaybı riski azdır;

int sayi = 42;
float ondalik_sayi = sayi; // Otomatik dönüşüm

Açık (Explicit) Dönüşüm

Bu tür dönüşümler, programcı tarafından belirtilen bir veri türünü başka bir veri türüne dönüştürmek için kullanılır. Açık dönüşümde, programcı veri kaybı veya istenmeyen sonuçları kabul edebilir. Bu işlem tip dönüşümü (type casting) operatörleri kullanılarak gerçekleştirilir;

double ondalik_sayi = 3.14;
int tam_sayi = (int)ondalik_sayi; // Açık dönüşüm
int sayi = 42;
int* int_isaretcisi = &sayi;
void* void_isaretcisi = (void*)int_isaretcisi; // int *'ı void *'a dönüştürme

Malloc'ta Tip Dönüşümü

malloc() ile tahsis edilen bellek, void işaretçisi (void pointer) olarak döner. Yani, malloc'ın geri dönüş değeri void * türündedir.

void* malloc(size_t boyut);

Bu işlev, belirtilen boyutta bellek tahsis eder ve bu belleğin başlangıç adresini void * işaretçisi olarak döndürür. Bu işlevin sonucunu kullanırken genellikle işaretçi tipini dönüştürmek gerekir;

int* dizi = (int*)malloc(10 * sizeof(int));
 char** char_dizisi = (char**)malloc(dizi_boyutu * sizeof(char *));

Last updated