CodeBlanks Logo Icon CodeBlanks

Özet - Yapılar

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

Struct, typedef ve struct dizisini birleştirerek bir öğrenci veritabanı yazarsın.

Özet - Yapılar

Bu grupta yapıların temellerini öğrendin. struct farklı türleri birleştirir; . ile üye erişilir. typedef kısa ad verir; struct dizisi birden fazla kaydı tutar; iç içe struct karmaşık modeller kurar.

struct Point { int x; int y; };
typedef struct { int id; int grade; } Student;
struct Student students[2];
r.topleft.x

Bu kavramlar C'deki veri modellemenin temelidir. Yapılar olmadan gerçek projeleri yazmak çok zordur. Şimdi tüm bu kavramları birleştiren bir ödev yapacaksın.

Uygulama İki öğrencinin not ortalaması

struct Student tanımla (int id, int grade). İki öğrencili bir dizi oluştur: {{1, 85}, {2, 90}}. Bir for döngüsü ile notları topla; printf ile toplamı yazdır.

Başlangıç kodu

main.c
#include <stdio.h>

/* struct Student tanımla (int id, int grade) */
int main(void) {
    /* iki öğrencili bir dizi tanımla; for ile notları topla; printf ile yazdır */
    return 0;
}

Örnek çözüm

main.c
struct Student { int id; int grade; };
struct Student students[2] = {{1, 85}, {2, 90}};
int total = 0;
for (int i = 0; i < 2; i++) {
    total += students[i].grade;
}
printf("%d\n", total);

Beklenen çıktı

175

Soru ve cevaplar

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

1 Kavram ve kullanım eşleştir

Kavram Anlamı
struct Veri toplar
. Üye erişimi
typedef Kısa ad verir
struct[3] Üç elemanlı dizi

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

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

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

3 Boşluğu doldur: dizi elemanı

Soru
printf("%d
", students[0]____);
Cevap
printf("%d
", students[0].grade);

Açıklama: students[0].grade ile ilk öğrencinin notu alınır.

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