CodeBlanks Logo Icon CodeBlanks

typedef ve dizi

  • C kursu
  • Orta seviye
  • Ders 108/116
  • 5 dk

typedef ile dizi türü tanımlamayı öğrenirsin.

typedef ve dizi

typedef, dizi türlerine de ad verir. Çok boyutlu diziler söz dizimsel olarak karmaşık olduğundan, typedef ile kısaltmak kodu sadeleştirir.

Örnek: typedef int Matrix[3][3];. Bu, 3×3 tamsayı matris türüne Matrix adını verir. Bundan sonra Matrix m; yazarak bir matris tanımlarsın; int m[3][3]; yazmak zorunda kalmazsın. Matrisin her elemanına m[i][j] ile erişirsin. Bu desen, matematiksel hesaplamalarda ve oyun tahtası temsilinde yaygındır. Tür adı amacı yansıtır; Matrix yazıldığında herkesin 3×3 tamsayı matrisi anlaması beklenir.

Matris başlatma

Bir Matrix değişkenini küme parantezi iç içe listeyle başlatırsın. Her iç liste bir satırı temsil eder.

Örnek: Matrix m = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} };. Bu, 1'den 9'a kadar sayıların 3×3 dizilimidir. m[0][0] = 1, m[1][1] = 5, m[2][2] = 9 olur. İç küme parantezleri satırları ayırır; okunabilirliği artırır. Bu yapı, matris işlemlerinin ve tablo verisinin temelidir. typedef sayesinde Matrix adıyla kısa ve anlamlı biçimde tanımlanır.

Uygulama Matrix programı yaz

typedef int Matrix[3][3]; tanımla. main içinde Matrix m = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} }; oluştur. printf("%d\n", m[1][1]); ile orta elemanı yazdır.

Başlangıç kodu

main.c
#include <stdio.h>

// Matrix türünü typedef ile tanımla
// m değişkenini değerlerle başlat
// m[1][1] değerini yazdır

int main(void) {
    return 0;
}

Örnek çözüm

main.c
#include <stdio.h>

typedef int Matrix[3][3];

int main(void) {
    Matrix m = {
        {1, 2, 3},
        {4, 5, 6},
        {7, 8, 9}
    };
    printf("%d\n", m[1][1]);
    return 0;
}

Beklenen çıktı

5

Soru ve cevaplar

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

1 Matris erişimini tamamla

Soru
printf("%d
", m[1][____]);
Cevap
printf("%d
", m[1][1]);

Açıklama: m[1][1] matrisin orta elemanıdır.

2 Matris indekslerini eşle

Kavram Anlamı
m[0][0] Sol üst
m[1][1] Orta
m[2][2] Sağ alt
Matrix Tür adı

3 typedef int Matrix[3][3]; ne tanımlar?

  • 3 elemanlı dizi
  • 3×3 tamsayı matris türü Doğru cevap
  • İşaretçi türü
  • Fonksiyon türü

Açıklama: Matrix, 3×3 tamsayı iki boyutlu dizi türüdür.

Orta seviye bölümündeki tüm dersler