Menu
Coddy logo textTech

Struct Tanımlama

Coddy'nin C Journey'sinin Logic & Flow bölümünün bir parçası — ders 39 / 63.

Artık bir struct yapısının ne olduğunu anladığınıza göre, kendi yapı türlerinizi nasıl oluşturacağınızı öğrenmenin zamanı geldi. C'de bir struct bildirmek, özel veri türünüz için taslağı tanımlayan belirli bir sözdizimini takip eder.

Bir struct bildirmek için temel sözdizimi şöyledir:

struct StructureName {
    datatype member1;
    datatype member2;
    // ... daha fazla üye
};

Her bir bölüm şu şekilde çalışır: struct anahtar kelimesiyle başlarsınız, ardından yapınız için bir isim gelir, sonra tüm üye değişkenleri süslü parantezler içinde listelersiniz. Her bir üye, veri tipi ve ismiyle tıpkı normal bir değişken gibi tanımlanır. Kapanış parantezinden sonra noktalı virgül koymayı unutmayın!

Örneğin, 2B uzayda bir noktayı temsil eden bir yapı oluşturmak için:

struct Point {
    int x;
    int y;
};

Bu bildirim, x ve y adında iki tam sayı üyesi içeren struct Point adında yeni bir veri türü oluşturur. Bir kez bildirildikten sonra, bu yapı türü, koordinat bilgilerini düzenli bir şekilde tutan değişkenler oluşturmak için programınız boyunca kullanılabilir.

challenge icon

Görev

Kolay

Bir kütüphane sistemindeki bir kitabı temsil etmek için bir struct tanımlayan bir C programı oluşturun. Programınız şunları yapmalıdır:

  1. Aşağıdaki üyeleri içeren Book adında bir struct tanımlayın:
    • Kitabın kimlik numarasını saklamak için bir tam sayı id
    • Kitabın başlığını saklamak için 50 boyutunda bir karakter dizisi title
    • Sayfa sayısını saklamak için bir tam sayı pages
    • Kitabın fiyatını saklamak için bir float price
  2. Struct'ı tanımladıktan sonra bir onay mesajı yazdırın: Book struct defined successfully!
  3. sizeof() kullanarak Book struct'ının boyutunu bayt cinsinden şu formatta yazdırın: Size of Book struct: [size] bytes
  4. Her bir üyenin boyutunu ayrı ayrı yazdırın:
    • Size of id: [size] bytes
    • Size of title: [size] bytes
    • Size of pages: [size] bytes
    • Size of price: [size] bytes

Bu meydan okuma, struct anahtar kelimesinin doğru kullanımı, uygun veri türlerine sahip üye bildirimleri ve kapanış parantezinden sonraki noktalı virgül dahil olmak üzere struct bildirim sözdizimi hakkındaki anlayışınızı test eder. Ayrıca C'nin sizeof() operatörünü kullanarak struct üyeleri için belleği nasıl tahsis ettiğini keşfedeceksiniz.

Tam boyut değerlerinin sisteminizin mimarisine bağlı olarak değişebileceğini, ancak programın başarıyla derlenmesi ve çalışması için struct tanım sözdiziminin doğru olması gerektiğini unutmayın.

Kopya kağıdı

C'de bir struct bildirmek için aşağıdaki sözdizimini kullanın:

struct StructureName {
    datatype member1;
    datatype member2;
    // ... daha fazla üye
};

struct anahtar kelimesiyle başlayın, ardından yapınız için bir isim verin ve ardından tüm üye değişkenleri süslü parantezler içinde listeleyin. Her üye, veri tipi ve adıyla bildirilir. Kapanış parantezinden sonra noktalı virgül koymayı unutmayın!

Bir Point yapısı örneği:

struct Point {
    int x;
    int y;
};

Bu, programınız boyunca kullanılabilecek iki tam sayı üyesine sahip struct Point adında yeni bir veri tipi oluşturur.

Kendin dene

#include <stdio.h>

int main() {
    // YAPILACAK: Kitap yapınızı (struct) burada tanımlayın
    
    
    // Onay mesajını yazdır
    printf("Book struct defined successfully!\n");
    
    // YAPILACAK: Kitap yapısının ve üyelerinin boyutunu yazdır
    
    
    return 0;
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Logic & Flow bölümündeki tüm dersler