Struct Değişkenleri Oluşturma
Coddy'nin C Journey'sinin Logic & Flow bölümünün bir parçası — ders 40 / 63.
Bir struct türü tanımladıktan sonra, onu veri tutan gerçek değişkenler oluşturmak için kullanabilirsiniz. Bir struct değişkeni oluşturmak, C'deki diğer herhangi bir değişkeni tanımlamakla tamamen aynı şekilde çalışır - veri türünü ve ardından değişken adını belirtirsiniz.
Bir struct değişkeni oluşturma söz dizimi şöyledir:
struct StructureName variableName;Örneğin, önceki dersteki Point yapısını kullanarak:
struct Point p1;
struct Point p2;Bu, her ikisi de struct Point türünde olan p1 ve p2 adında iki değişken oluşturur. Her değişken, yapıda tanımlanan x ve y üyelerinin kendi ayrı kopyasına sahiptir.
int veya float gibi yerleşik türlerde yaptığınız gibi, ihtiyacınız olduğu kadar struct değişkeni oluşturabilirsiniz. Her struct değişkeni bağımsızdır ve üyelerinde farklı değerler tutabilir. Oluşturulduktan sonra bu değişkenler, koordinat verilerini düzenli bir şekilde saklamaya hazırdır.
Görev
KolayFarklı türlerde birden fazla struct değişkeni oluşturmayı gösteren bir C programı oluşturun. Programınız şunları yapmalıdır:
- Aşağıdaki üyelere sahip
Rectangleadında birstructtanımlayın:- Bir tam sayı
width - Bir tam sayı
height
- Bir tam sayı
- Aşağıdaki üyelere sahip
Studentadında birstructtanımlayın:- Bir tam sayı
id - 30 boyutunda bir karakter dizisi
name - Bir float
gpa
- Bir tam sayı
- Main fonksiyonu içinde aşağıdaki struct değişkenlerini oluşturun:
rect1verect2adında ikiRectangledeğişkenistudent1,student2vestudent3adında üçStudentdeğişkeni
- Oluşturulan her değişken için tam olarak şu formatta onay mesajları yazdırın:
Rectangle variable rect1 createdRectangle variable rect2 createdStudent variable student1 createdStudent variable student2 createdStudent variable student3 created
- Oluşturulan toplam struct değişkeni sayısını şu formatta yazdırın:
Total struct variables created: 5 - Her tür için bellek kullanımını şu formatta yazdırın:
Memory per Rectangle: [size] bytesMemory per Student: [size] bytes
Bu meydan okuma, birden fazla struct türü tanımlama ve her türden birkaç değişken oluşturma yeteneğinizi test eder. Her struct değişkeni bağımsızdır ve kendi bellek alanına sahiptir; bu da struct yapılarının programlarınızda farklı veri türlerini düzenlemek için nasıl kullanılabileceğini gösterir.
Kopya kağıdı
Struct değişkenleri oluşturmak için, diğer değişkenleri bildirmekle aynı söz dizimini kullanın:
struct StructureName variableName;Birden fazla struct değişkeni oluşturma örneği:
struct Point p1;
struct Point p2;Her struct değişkeni bağımsızdır ve struct içinde tanımlanan tüm üyelerin kendi ayrı kopyasına sahiptir. Tıpkı yerleşik türlerde olduğu gibi, ihtiyaç duyduğunuz kadar struct değişkeni oluşturabilirsiniz.
Kendin dene
#include <stdio.h>
int main() {
// TODO: Rectangle yapınızı burada tanımlayın
// TODO: Student yapınızı burada tanımlayın
// TODO: Yapı değişkenlerini burada oluşturun
// TODO: Oluşturulan her değişken için onay mesajlarını yazdırın
// TODO: Oluşturulan toplam yapı değişkeni sayısını yazdırın
// TODO: sizeof() kullanarak her yapı türü için bellek kullanımını yazdırın
return 0;
}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
1Pointer Temelleri
Pointer Nedir?Pointer TanımlamaAdres Operatörü (&)Dereference Operatörü (*)NULL Pointer'larÖzet: Pointer Temelleri4Proje: Basit Metin Aracı
Projeye Genel BakışKarakter Sayma7Yapılar (structs)
Struct Nedir?Struct TanımlamaStruct Değişkenleri OluşturmaStruct Üyelerine ErişmeStruct BaşlatmaÖzet: Öğrenci Verisi Struct'ı2İşaretçiler ve Diziler
İşaretçi Olarak Dizi İsimleriDizi Elemanları - İşaretçilerİşaretçi Aritmetiğiİşaretçilerin KarşılaştırılmasıÖzet: İşaretçi ile Dizi Gezinme5İşaretçiler ve Fonksiyonlar
Değer ile GeçmeFonksiyonlara İşaretçi Göndermeİşaretçiler ile Değişkenleri DeğiştirmeKlasik Bir Örnek: SwapFonksiyonlara Dizi GöndermeÖzet: Fonksiyon İşaretçi Argümanları8Yapılar ve İşaretçiler
Yapılara İşaretçilerOk Operatörü (->)Yapıları Değer ile AktarmaYapı İşaretçilerini AktarmaYapıların Dinamik TahsisiÖzet: Yapıyı Değiştirme - Ptr11Son Tekrar Görevleri
Tekrar: Dinamik String BirleştirmeTekrar: Struct DizisiTekrar: Kelime Frekans Sayacı3Karakter Dizileri ve Stringler
char Dizisi Olarak StringlerNull Sonlandırıcıscanf ile String Girişistrlen() Kullanımıstrcpy() Kullanımıstrcat() Kullanımıstrcmp() KullanımıÖzet: Temel String Fonksiyonları