Struct Değişkenleri Oluşturma
Coddy'nin C Journey'sinin Mantık & Akış bölümünün bir parçası. Ders 40 / 63.
Bir struct türü bildirdikten sonra, verileri tutan gerçek değişkenler oluşturmak için onu kullanabilirsiniz. Bir struct değişkeni oluşturmak, C'de başka herhangi bir değişkeni bildirmekle tamamen aynıdır - veri türünü ve ardından değişken adını belirtirsiniz.
Bir struct değişkeni oluşturma sözdizimi şö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 çok struct değişkeni oluşturabilirsiniz. Her struct değişkeni bağımsızdır ve üyelerinde farklı değerler barındırabilir. Oluşturulduktan sonra bu değişkenler, koordinat verilerini düzenli bir şekilde depolamaya hazırdır.
Görev
KolayFarklı türlerde birden fazla struct değişkeni oluşturmayı gösteren bir C programı oluştur. Programın şunları yapması gerekir:
- Aşağıdaki üyelere sahip
structadlı birRectangletanımla:- Tamsayı türünde bir
width - Tamsayı türünde bir
height
- Tamsayı türünde bir
- Aşağıdaki üyelere sahip bir
structadlıStudenttanımla:- Tamsayı türünde bir
id - Boyutu 30 olan bir karakter dizisi
name - Bir float
gpa
- Tamsayı türünde bir
- main işlevinde aşağıdaki struct değişkenlerini oluştur:
Rectangleverect1adlı ikirect2değişkeniStudent,student1vestudent2adlı üçstudent3değişkeni
- Oluşturulan her değişken için onay mesajlarını tam olarak şu biçimde yazdır:
Rectangle variable rect1 createdRectangle variable rect2 createdStudent variable student1 createdStudent variable student2 createdStudent variable student3 created
- Oluşturulan struct değişkenlerinin toplam sayısını şu biçimde yazdır:
Total struct variables created: 5 - Her tür için bellek kullanımını şu biçimde yazdır:
Memory per Rectangle: [size] bytesMemory per Student: [size] bytes
Bu alıştırma, birden fazla struct türü tanımlama ve her türden birkaç değişken oluşturma becerini test eder. Her struct değişkeni bağımsızdır ve kendine ait bir bellek alanına sahiptir; bu da struct'ların programlarında farklı veri türlerini düzenlemek için nasıl kullanılabileceğini gösterir.
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.
Mantık & Akış 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ıKendi başına pratik yap: Online C derleyicisi