18 Eylül 2013 Çarşamba

Struct yapısı ve açıklamalı örneği

Sponsorlu Bağlantılar
#include<stdio.h>
#include<stdlib.h>
typedef struct isci{ // bir fabrikada çalışan 2 işçi gibi bir durum olduğunu düşünelim...
        char *adi; //stringlerde pointer kullanmazsan program çalışmaz unutma!
        char *soyadi;
        int yas; // int double long short vs gibi tiplerde pointer kullanmaya gerek yoktur...
        double aylikucret;
        }isci; //böyle yazarsak aşagıda main içinde struct yazmak zorunda kalmayız..
        
int main()
{
    isci i1,i2,*ip1,*ip2; //2 adet pointeri char tipi için açtık yani adi ve soyadı için. i1 ve i2 işçi isimleri
    i1.adi="Ahmet"; //int sayi=2 gibi düşünürsek verileri bu kısıma girdik...
    i1.soyadi="Yuksel";   // önce 1. işçinin bilgilerini girdik
    i1.yas=32;
    i1.aylikucret=1.200;
    
    i2.adi="Nazife";  // daha sonra ikinci işçinin bilgilerini girdik..
    i2.soyadi="Cam";
    i2.yas=28;
    i2.aylikucret=1.350;
    ip1=&i1; //burda ise atamaları yaptık 
    ip2=&i2;
    
    printf("Adi=%s\n",ip1->adi); //-> işaretine dikkat. char olduğu için ve pointer kullanıldığı için durum böyle..
    printf("Soyadi=%s\n",ip1->soyadi);// burdada aynı şekilde
    printf("Yasi=%d\n",i1.yas); // bu kısımda int tipi olduğu için pointera gerek yoktu bu yüzde aralara -> yerine . koyduk
    printf("Aldigi maas=%.3f\n\n",i1.aylikucret);// aynı şekilde 
    
    printf("Adi=%s\n",ip2->adi); // yukarıda yapılan işlemlern aynısı burası içinde geçerli
    printf("Soyadi=%s\n",ip2->soyadi);
    printf("Yasi=%d\n",i2.yas);
    printf("Aldigi maas=%.3f\n",i2.aylikucret);
    system("pause");
}           
Sponsorlu Bağlantılar

Hiç yorum yok:

Yorum Gönder