Veri modeli
- C kursu
- Başlangıç
- Ders 113/116
- 6 dk
Uygulamanın struct ve dizilerini kurarsın.
Kitap dizisi
Birden fazla kitabı yönetmek için struct Book türünden bir dizi tanımlarsın. Bu, kataloğun temel veri modelidir.
struct Book books[2] = {
{"Suç ve Ceza", 1866},
{"Sefiller", 1862}
};Burada books iki kitap taşır. Her eleman kendi title ve year üyelerine sahiptir. books[0].title ile ilk kitabın başlığına erişirsin. Bu yapı, kataloğu genişletmek için temel sağlar.
Dizi elemanına erişim
Bir struct Book dizisinde elemanlara [index] ile, sonra üyelere . ile erişirsin. Zincir sırası önemlidir.
printf("%s\n", books[0].title);
printf("%d\n", books[1].year);Önce books[0] ilk kitabı verir; sonra .title onun başlığını alır. Bu desen, tablo halindeki veriyi işlemek için standarttır. Bir for döngüsü ile tüm kitapları gezebilirsin.
Uygulama İki kitaplık dizi oluştur
struct Book books[2] tanımla ve {{"Suç ve Ceza", 1866}, {"Sefiller", 1862}} ile başlat. printf ile ilk kitabın title ve year değerlerini yazdır.
Başlangıç kodu
#include <stdio.h>
struct Book {
char title[32];
int year;
};
int main(void) {
// iki kitaplık bir dizi tanımla; printf ile ilk kitabı yazdır
return 0;
}Örnek çözüm
struct Book books[2] = {{"Suç ve Ceza", 1866}, {"Sefiller", 1862}};
printf("%s %d\n", books[0].title, books[0].year);Beklenen çıktı
Suç ve Ceza 1866
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 İki kitabı aynı anda tutmak için en uygun yapı nedir?
- Bir dizi Doğru cevap
- İki işaretçi
- İki ayrı değişken
- İki yapı
Açıklama: Bir dizi birden fazla yapının tek ad altında yönetilmesini sağlar.
2 İfade ve anlam eşleştir
| Kavram | Anlamı |
|---|---|
books[0] |
İlk kitap |
books[1] |
İkinci kitap |
books[0].title |
İlk başlık |
books[1].year |
İkinci yıl |
3 Boşluğu doldur: dizi elemanı
printf("%s
", books____);
printf("%s
", books[0].title);
Açıklama: books[0].title ile ilk kitabın başlığı alınır.