CodeBlanks Logo Icon CodeBlanks

typedef struct

  • C kursu
  • Başlangıç
  • Ders 96/116
  • 5 dk

typedef ile struct'a yeni isim vermeyi öğrenirsin.

typedef struct: kısa ad

typedef bir türe başka bir ad verir. struct ile birlikte kullanıldığında struct sözcüğünü tekrar yazmadan değişken tanımlayabilirsin.

typedef struct {
    int x;
    int y;
} Point;

Point p = {3, 4};

Burada Point artık bir tür adıdır; struct Point yazmana gerek kalmaz. Bu, özellikle uzun yapı adlarında kodu sadeleştirir. Anonim yapıya bir ad vermiş olursun; tanımı başka dosyalara taşımak da kolaylaşır.

typedef ile kullanım

typedef sonrası değişken tanımlamak daha kısadır. struct yazmadan yalnızca adı kullanırsın.

typedef struct {
    char name[32];
    int age;
} Person;

Person a;
Person b = {"Ayse", 25};

Burada Person a ve Person b = {...} tanımları çok daha temiz görünür. Üye erişimi hâlâ . ile yapılır: b.age. Bu biçim, gerçek projelerde çok yaygındır; neredeyse her yapı typedef ile tanımlanır.

Uygulama typedef Point ile koordinat yazdır

typedef struct kullanarak Point adlı bir tür tanımla; int x ve int y üyeleri olsun. main içinde Point p = {7, 8} biçiminde bir değişken oluştur ve printf ile üyeleri yazdır.

Başlangıç kodu

main.c
#include <stdio.h>

/* typedef ile Point adlı yapı tanımla (int x, int y) */
int main(void) {
    /* bir Point oluştur; printf ile yazdır */
    return 0;
}

Örnek çözüm

main.c
typedef struct { int x; int y; } Point;
Point p = {7, 8};
printf("%d %d\n", p.x, p.y);

Beklenen çıktı

7 8

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Boşluğu doldur: typedef tanımı

Soru
____ struct {
    int x;
    int y;
} Point;
Cevap
typedef struct {
    int x;
    int y;
} Point;

Açıklama: typedef struct ile kısa ad verilir.

2 Tanım ve eşdeğeri eşleştir

Kavram Anlamı
typedef struct {...} Point; Tür adı verir
Point p; struct'sız tanım
struct Point p; uzun biçim
p.x üye erişimi

3 typedef struct tanımından sonra değişken nasıl tanımlanır?

  • Point p; Doğru cevap
  • struct Point p;
  • typedef Point p;
  • new Point p;

Açıklama: typedef sonrası yalnızca Point p; yazılır.

Başlangıç bölümündeki tüm dersler