Ev Kişisel Finans C Programlama için Yapı temelleri - mankenleri

C Programlama için Yapı temelleri - mankenleri

İçindekiler:

Video: C Programlama Dersleri 41 - Yapılar (Structures) 2025

Video: C Programlama Dersleri 41 - Yapılar (Structures) 2025
Anonim

Bir de çok değişkenli olarak C programlama dili yapısı düşünebiliriz, veya birkaç değişken bir arada. Karmaşık bilgileri saklamak veya bunlara erişmek için yapıları kullanırsınız. Bu şekilde, çeşitli int, char, float değişkenleri ve hatta dizileri tek bir düzende saklayabilirsiniz.

Temelleri

Yapısı değişken bir tür değildir. Bunun yerine, onu birden çok değişken türü içeren bir çerçeve olarak düşünün. Bir çok yönden, bir yapı bir veritabanındaki bir kaydın benzeridir. Örneğin:

İsim Yaş Kumar borcu

Bu üç ürün, bir veritabanı kayıtlarında alanlar olabilir, ama aynı zamanda bir yapıda üyesi olabilir: Adı bir dize olurdu; Yaş, bir tam sayı; ve İmzasız kayan nokta değeri olan Kumar Borcu. Böyle bir kayıt, C'de bir yapı olarak nasıl görünür:

struct record {char name [32]; yaş; kayan borç;};

yapı, yeni bir yapı tanıtan, tanımlayan veya yaratan bir C dili anahtar kelimedir.

record, oluşturulmakta olan yeni yapının adıdır.

Kıvırcık parantez içinde, yapının üyeleri, adlandırılmış yapının içerdiği değişkenler bulunur. Kayıt yapısı türü üç üye değişken içeriyor: bir dize adı, yaş adında bir yaş ve bir float değeri, borç.

Yapıyı kullanmak için, oluşturduğunuz yapı türünün bir yapı değişkeni bildirmeniz gerekir. Örneğin:

yapı kaydı insan;

Bu satır, kayıt yapısı türünün yeni bir değişkeni bildirir. Yeni değişkene insan adı verilir.

Yapı değişkenleri, yapıyı tanımladığınızda da bildirilebilir. Örneğin:

struct record {char name [32]; yaş; kayan borç;} insan;

Bu ifadeler insan , bir kayıt yapısı değişken bildirmek kayıt yapısını ve tanımlar. Bu yapı türünün birden fazla değişkeni de oluşturulabilir:

struct record {char name [32]; yaş; float borcu;} bill, mary, dan, susie;

Bu örnekte dört kayıt yapısı değişkeni oluşturulmuştur. Her değişken, yapıda tanımlanan üç üyeye erişebilir. Bir yapı değişkeni üyeleri erişmek için, sen üye operatörü bir dönem kullanıyoruz. Yapı değişken adını bir üye adına bağlar. Örneğin:

printf ("Kurban:% sn", fatura adı);

Bu deyim, fatura yapı değişkenindeki ad üyesine başvuruyor. Bir char dizisi, kodunuzda başka herhangi bir char dizisi gibi kullanılabilir. Yapı değişkenindeki diğer üyeler de bireysel meslektaşları gibi kullanılabilir:

dan.yaş = 32;

Bir yapıyı nasıl doldururum

Diğer değişkenlerle olduğu gibi, bir yapı değişkenine oluşturulduğunda değerleri atayabilirsiniz. Önce yapı türünü tanımlamanız ve ardından üye değişkenleri önceden ayarlanmış bir yapı değişkeni bildirmeniz gerekir. Önceden ayarlanmış değerlerin, Yapılandırmada tanımlanan üyelerin sırasına ve türüne uyduğundan emin olun, Baştaki Yapı Yapısı Bildirme'de gösterildiği gibi.

BAŞLANGIÇ YAPININ BELİRLENMESİ

#include int main () {başkan başkanı {char name [40]; int yıl;}; başkan yapacak ilk = {"George Washington", 1789}; printf ("İlk başkan% sn idi", ilk isim); printf ("% dn" de açıldı, ilk yıl); Egzersiz 1

: Başlatılan Yapıyı Bildirmek'ten editöre kaynak kodunu yazarak yeni bir program oluşturun. Kurun ve çalıştırın. Ayrıca bir yapı bildirip bir deyimle başlatabilirsiniz:

struct president {char name [40]; int yıl;} ilk = {"George Washington", 1789};

Egzersiz 2

: Egzersiz 1'den kaynak kodunuzu değiştirin, böylece yapı ve değişken bildirilir ve bir deyim olarak başlatılır. Bir yapı ilan edip bir yapı değişkenini gösterildiği gibi başlatabilirsiniz, ancak bu hile ile yalnızca bir kez kurtulabilirsiniz. Teknik, Başlanan Yapı Yapısı Bildirme bölümünde gösterildiği gibi geleneksel yöntemle yapılması gereken ikinci yapı değişkenini bildirmek için kullanamazsınız.

Alıştırma 3

: İkinci olarak, 1797'de açılan ikinci cumhurbaşkanı John Adams hakkında bilgi vererek bu yapıyı başlatarak kodunuza ikinci bir başkan yapısını ekleyin. Her iki yapının içeriğini görüntüleyin. Bir yapı dizisi nasıl yapılır

Bireysel yapı değişkenlerini birbiri ardına oluşturmak, tek tek değişken türlerinden oluşan bir dizi oluşturmak kadar sıkıcı ve zahmetli olur. Çoklu yapılar için çözüm, birden fazla bireysel değişkenle aynıdır: bir dizi.

Bir yapı dizisi şu şekilde ilan edilir:

struct skorlar player [4];

Bu deyim, puan dizileri dizisini bildirir. Dizi, oyuncu olarak adlandırılır ve öğeleri olarak dört tane yapı değişkeni içerir.

Dizideki yapılara, dizi ve yapı gösterimi kombinasyonu kullanılarak erişilir. Örneğin:

oyuncu [2]. ad

Önceki satırdaki değişken, oyuncu yapısı dizisindeki üçüncü unsurdaki ad üyesine erişir. Evet, bu üçüncü öğedir, çünkü ilk öğe şu şekilde referanslandırılacaktır:

player [0]. ad

Diziler, 1. unsur değil, 0 unsuru ile numaralandırmayı başlatır.

Yapıların Dizilerindeki 10. satır, dört puanın yapı dizisini bildirir. Dizinin adı player'tır. Dizilerdeki her yapı, 13 ile 19 arasındaki satırları dolduruyor. 21 - 27 satırları her yapının üye değerlerini görüntüler.

YAPISALARIN ARRAYLARI

#include int main () {skoru yapılandırma {char name [32]; int puan;}; yapı puanı oyuncu [4]; int x; (x = 0; x <4; x ++) için {printf ("Oyuncu% d girin:", x + 1); scanf ("% s", oyuncu [x].ad); printf ("Puanını girin"; scanf ("% d", & player [x]. skor);} koyar ("Oyuncu Bilgileri"); printf ("# tNametScoren"); (x = 0; x <4; x ++) {printf ("% dt% st% 5dn", x + 1, oyuncu [x], isim, oyuncunun [x] puanı);} dönüş (0);}

Alıştırma 4

: Arrays of Structures'taki kaynak kodunu editörünüze yazın. Programı kurun ve çalıştırın. Puanlar düzgün hizalanacak şekilde beş basamondan az tutmaya çalışın. Alıştırma 5

: Yapıların Dizilişine kod ekleyin, böylece yapıların gösterimi önce en yüksek skorla listelenir. Evet, bunu yapabilirsin. Bir yapı dizisini sıralama, tıpkı diğer dizileri sıralamak gibi çalışır. İşte bir ipucu: Çözümün 27 satırı buna benzer:

player [a] = player [b];

Yapı dizisi öğelerini, herhangi bir dizi öğesini değiştirebileceğiniz gibi takas edebilirsiniz. Yapı değişkeninin üyelerini değiştirmeniz gerekmez.
C Programlama için Yapı temelleri - mankenleri

Editörün Seçimi

Genişletme Bağlantılar ve Bina Robotları için Pinouts - mankenler

Genişletme Bağlantılar ve Bina Robotları için Pinouts - mankenler

Eğer bir robot inşa ediyorsanız, çok sayıda elektrik bağlantısı, bu yüzden çok sayıda iğne ile uğraşıyorsunuz. Aşağıdaki tabloda, genişleme konektörleri ve pim numaraları için sinyal gösterilmektedir. İstenmeyen çapraz bağlantıları önlemeye yardımcı olabilir. Genişletme Konnektörü Pin Numarası Sinyal Genleşmesi Konnektör Pin Numarası Sinyal 1, 2 Toprak 16 P11 Yeşil LED 3, 4 + 5 ...

Dizinler içeren Kablosuz Erişim Noktalarını bulma - mankenler

Dizinler içeren Kablosuz Erişim Noktalarını bulma - mankenler

Sıcak noktaları bulma konusunda çevrimiçi dizinler, gezinmek için mükemmel bir araçtır. ABD, Kanada ve dünyadaki artan sayıda sıcak nokta. Size kolaylık sağlamak için, bu dizinlerden bazıları. Dizin Notları JiWire WiFi Bulucu 144 ülkede ücretsiz ve ücretli Wi-Fi yerleri dizini sağlar. AT & T ...

Ham Radyoda genel Sınıf Frekans Ayrıcalıkları - mankenler

Ham Radyoda genel Sınıf Frekans Ayrıcalıkları - mankenler

Yakında yapmadıysanız, siz Yükseltmeyi düşünüyorum. Aşağıdaki tabloda gösterildiği gibi, yüksek frekanslı (HF) bantlarda kullanmak için daha fazla frekansa sahipsiniz. Tüm lisans sınıfları için ABD frekansı ve mod ayrıcalıklarının eksiksiz bir listesi, Amerikan Radyo Röle Ligi'nden (ARRL) edinilebilir. Bant Frekansları ...

Editörün Seçimi

Adobe Flash CS6'da Maske Katmanlarını Kullanma - mankenler

Adobe Flash CS6'da Maske Katmanlarını Kullanma - mankenler

Adobe Flash CS6'da maskeleme kavramı Bir parçanın bölümlerini gizlemek ya da ortaya çıkarmak için bir şekli (ya da şekilleri) kullanır - tıpkı evinizdeki küçük bir pencere aracılığıyla dışarıdan bakmak gibi. Pencere boyutu, içerideyken görebileceğiniz şeyi sınırlar. Flash, özel bir katman özelliklerine sahiptir ...

Flash CS5 3D Rotasyon Aletinin Kullanımı - mankenler

Flash CS5 3D Rotasyon Aletinin Kullanımı - mankenler

Adobe'nin kapsamlı çizim ve animasyon yetenekleri Flash Creative Suite 5, Flash'ın 3D Döndürme aracıyla büyük ölçüde geliştirilebilir. 3B Döndürme aracı, sembolü x, y ve z eksenleri etrafında döndürmek ve dönüştürmek için herhangi bir film klibi örneğinde kullanılabilir. Bir film klibi örneğini 3D olarak oluşturmak için bunları izleyin ...

Flash CS5 3D Çeviri Aletini Kullanma - aumlalar

Flash CS5 3D Çeviri Aletini Kullanma - aumlalar

In 3D Döndürme aracının aksine Flash CS5 film kliplerini bir eksen etrafında döndüren Adobe Flash Creative Suite 5, 3D Çeviri aracı, bir film klibini algılanan mesafeyi ve sahnedeki diğer nesnelere göre derinliğini değiştirmek için belirli bir eksende kaydırır. Bu kavramı üçlü düşünün ...

Editörün Seçimi

Pratik İlköğretim Sınavı-Grafik Çözümleri - mankenler

Pratik İlköğretim Sınavı-Grafik Çözümleri - mankenler

Praxis İlköğretim sınavının Matematik bölümü bir dizi çizgide bir eşitsizliğe çözüm bulmanızı gerektiren bir soru. Başlamak için, çözümdeki sayıya bir nokta koyarsınız. Sembolü> veya

Pratik İlk Öğretim Sınavı-Ölüm Şekilleri - mankenler

Pratik İlk Öğretim Sınavı-Ölüm Şekilleri - mankenler

Praxis İlköğretim Matematik ve Bilim bölümleri Eğitim sınavı, farklı ölçme şekillerine aşina olmanız gereken sorular içerir. Ölçümler, çeşitli tiplerde tanımlanabilir. Mesafe için İngilizce sistem birimleri inç, feet, metre ve mil içerir. Bunlar birbirine dayanır. Bir ayak 12 ...

Pratik İlk Öğretim Sınavı-Akıcılık - mankenler

Pratik İlk Öğretim Sınavı-Akıcılık - mankenler

Praxis İlköğretim sınavı, yardımcı stratejilerinizi test eden sorular içerir öğrenciler akıcılıklarını İngilizce olarak geliştirirler. Bu stratejiler, grafik düzenleyicileri kullanarak ve çıkarımlar yapmayı içerebilir. Akıcı bir okuyucu, sınıf düzeyinde bir metni doğruluk, çabukluk ve ifade ile okuyabilir.