C Dili - Ders 31 - Structure (Yapılar) & Pointerlar



Şimdi bir structure oluşturalım ve bu structureın üyelerini 5 elemanlı bir dizi olsun daha sonra bu dizinin elemanlarını pointer kullanarak kullanıcıdan alalım.



#include "stdio.h"
struct yapi_turu{ int yas;};
struct yapi_turu insanlar[5];
int main(){
struct yapi_turu* pointer;
pointer=insanlar; int i=0;
for(i=0;i<5;i++) {
printf("gir:");
scanf("%d",pointer->yas);
printf("%d degerini girdin!\n",(*pointer).yas);
pointer++;
}
return 0;
}

Yukarıda pointerı tanımlarken türüne dikkat edin. elemanları kullanıcıdan alma işlemini bir fonksiyonla yapabilirsiniz.

C Dili - Ders 30 - Structure(Yapılar)



Bu yapı paralel dizi oluşturmamıza gerek kalmadan birden fazla değişken türüyle yeni bir değişken türü oluşturmamıza yarayan yapıdır.

Kullanılışı aşağıdaki gibidir. integer ve char değişken türlerinden yeni bir değişken türü oluşturdum.



struct kitap_turu{
int fiyat;
char isim[100];
char yazar[100];
};

Yukarıda yeni bir struct kitap_turu adında değişken türü oluşturduk. Şimdi bu türden bir kitap adında bir değişken oluşturalım.



struct kitap_turu kitap;
//hatta dizi değişken bile oluşturabiliriz.
struct kitap_turu kitap_dizisi[10];

Şimdi bir değişken daha oluşturalım ve değer atayalım.



#include "stdio.h"
struct kitap_turu{
int fiyat;
char isim[100];
char yazar[100];
};
struct kitap_turu kitap2={10,"Define Adasi","Robert Louis Stevenson"};
int main(){
printf("Kitap ismi: %s\n",kitap2.isim);
printf("Kitap fiyat: %d TL\n",kitap2.fiyat);
printf("Kitap yazar: %s\n",kitap2.yazar);
return 0;
}

Structurelara değer atarken içerisindeki değişkenlerin sıralamasına uymalısınız.