typedef ve struct
- C kursu
- Orta seviye
- Ders 106/116
- 4 dk
typedef ile struct'a kısa isim vermeyi öğrenirsin.
typedef ve struct
typedef, bir türe yeni bir ad verir. struct ile birlikte kullanıldığında her seferinde struct yazmaktan kurtulursun. Bildirim: typedef struct { ... } Person;.
Örnek: typedef struct { char name[32]; int age; } Person;. Bundan sonra struct Person p; değil, doğrudan Person p; yazarsın. Bu, kodu kısaltır ve okunabilirliği artırır. Tür adı bir kere tanımlanır; tüm program boyunca kısa adla kullanılır. Bu desen, C'de veri soyutlamanın temelidir ve büyük projelerde tutarlı tür adları sağlar.
Person yapısı
Bir Person yapısı, ad ve yaş alanlarını bir arada tutar. typedef ile tanımladıktan sonra değişken tanımlamak ve erişmek kolaylaşır.
Örnek: Person p = {"Ayşe", 25}; ile bir kişi oluşturursun. p.name adı, p.age yaşı verir. printf("%s %d\n", p.name, p.age); ile her iki alanı yazdırırsın. Küme parantezi içindeki değerler yapıdaki alan sırasına göre yerleşir. Bu, kayıt benzeri verileri temsil etmenin C'deki standart yoludur; her alan bir özelliği taşır.
Uygulama Person yapısı yaz
typedef struct { char name[32]; int age; } Person; tanımla. main içinde Person p = {"Ayşe", 25}; oluştur. printf("%s %d\n", p.name, p.age); ile yazdır.
Başlangıç kodu
#include <stdio.h>
// Person yapısını typedef ile tanımla
// main'de Person değişkeni oluştur ve yazdır
int main(void) {
return 0;
}Örnek çözüm
#include <stdio.h>
typedef struct {
char name[32];
int age;
} Person;
int main(void) {
Person p = {"Ayşe", 25};
printf("%s %d\n", p.name, p.age);
return 0;
}Beklenen çıktı
Ayşe 25
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 typedef struct ne kazandırır?
- Daha az bellek kullanımı
- Daha hızlı derleme
- Her seferinde struct yazmaktan kurtulur Doğru cevap
- Otomatik bellek temizleme
Açıklama: typedef, struct anahtar sözcüğünü tekrarlamayı engeller.
2 Person değişkenini tamamla
Person p = {"Ayşe", ____};
Person p = {"Ayşe", 25};
Açıklama: Person p = {"Ayşe", 25}; ile kişi oluştur.
3 typedef struct parçalarını eşle
| Kavram | Anlamı |
|---|---|
typedef |
Ad verme |
struct |
Yapı tanımı |
Person |
Kısa ad |
p.name |
Alan erişimi |