![](images/logo.gif)
C/C++ Dillerinde Yapılar (Structures)
C/C++ Dillerinde Yapılar (Structures):
//bu programda structureları(yapıları O_o) inceleyeceğiz.
//sturcturelar az ve öz konuşmak gerekirse farklı türden veri
yapılarını tek bir isim altında
//toplamaya yarıyor.Mesela bir roleplaying oyununda oyuncu ile ilgili
tonla bilgi olucak en
//basitinden ismi,yaşı,hitpoints'i yanındaki altını vs. bu verilerin hepsini
ayrı ayrı tutacağımıza
//hepsini "player" diye bir yapının içine koymamız ilerde programımız
büyüdügünde bize çok fayda sağlar.
//Bu programda player diye bir yapı oluşturup bunun içine yukarda
saydığım verileri koyucaz.daha sonra bunlara
//programımızda nasıl ulaşacağımızı öğreneceğiz.İşte başlıyoruz...
#include <stdio.h>
//girdi çıktı fonksiyonları(printf();scanf();)
#include <conio.h>
//getch(); fonksiyonunu kullanmamız için.
typedef struct
//bu ne????tamam panik yok.bir yapı(structure) tanımlarken
bunu yazıyoruz.yani mecburuz :]
{
//şimdi yazacağımız herşey yaratmakta
olduğumuz yapının birer elemanı yani member'ı.
//sırasıyla oyuncunu sahip olmasını istediğimiz verileri
yazıyoruz.
char isim[50];
//oyuncunun ismi
int yas,hitpoints,altin;
//sırasıyla yaşı,hitpoints'i,altını.
}player;
//burda yapımızın ismini veriyoruz.yapının ismi
player;programımız içinde bu veri yapısını tanımlarken bu
//ismi kullanacağız.
void main()
{
int dummyyas=19;
//evet bunu örnek göstermek
için yarattım."int" bir değişken tanımladık.
//şimdi "player" bir değişken tanımlayacağız.
player oyuncu={"deneme",17,200,55};
//gördüğünüz
gibi tanımlanma şekillerinde bir fark yok.eğer yarattığımız yapının içindeki
elemanlara
//ilk değerlerini vermek istiyorsak tırnak parantezlerin
içine sırasıyla değerleri yazıyoruz.sırasıyla
//isim,yaş,hitpoints ve altin
oyuncu.yas=dummyyas;
//en önemli kısım bu tanımladığımız
oyuncu değişkeninin herhangi bir elemanına ulaşmak için
//değişkenin ismini yazdıktan sorna "."(nokta)'ya basıyoruz.Eğer
visual studio kullanıyorsanız size bu yapının
//elemanlarının bir listesini açıyor burda istedigimiz
değişkeni seçebiliyoruz.ben yaşı şeçtim ve bunu başka
//bir değişkene eşitledim.gayet kolay :]
printf("Ismini yaz savasci :
");
//oyuncunun ismini istiyoruz.
scanf("%s",oyuncu.isim);
//aynen bir değişkenin içine
değer koyarkenki gibi yapıyoruz.burda oyuncunun başına "&" adres operatörünü
//koymamıza gerek yok.çünkü isim bir
karater dizisi ve isim bu karakter dizisinin ilk elemanının adresi demek.
printf("Kac yasindasin ? : ");
//yas istiyoruz
scanf("%d",&oyuncu.yas);
//burda da yaşi istiyoruz.gördüğünüz
gibi burda değişkenin adresini veriyoruz.
//şimdi bütün oyuncu
değişkenini ekrana yazdıralım ve programımız bitsin. :]
printf("oyuncu ozellikleri\n");
printf("------------------\n");
printf("isim :
%s \n",oyuncu.isim);
printf("yas
: %d \n",oyuncu.yas);
printf("hit points : %d \n",oyuncu.hitpoints);
printf("altin : %d \n",oyuncu.altin);
getch();
//olup biteni görmemiz için
}
//program bitti.
Barış S. Uşaklı :: 2003 :: www.oyunyapimi.org
|
|