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
#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
#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
printf("%d
", m[1][____]);
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.