#include typedef struct _nitelOzellikler{ int cins; int renk; int sekil; }nitelOzellikler; //12 byte typedef struct _nicelOzellikler{ double agirlik; double yogunluk; double miktar; }nicelOzellikler; //24 byte typedef union _ozellikler { nitelOzellikler nitel; nicelOzellikler nicel; }ozellikler; // 24 byte typedef struct _malzeme { char *firmaAdi; char *markasi; double stokMiktari; ozellikler ozellik; }malzeme; //40 byte void DisplayOp1(const malzeme *malz) { printf("%s\n",malz->firmaAdi); printf("%s\n",malz->markasi); printf("%lf\n",malz->stokMiktari); printf("%d\n",malz->ozellik.nitel.cins); printf("%d\n",malz->ozellik.nitel.renk); printf("%d\n",malz->ozellik.nitel.sekil); } void DisplayOp2(const malzeme *malz) { printf("%s\n",malz->firmaAdi); printf("%s\n",malz->markasi); printf("%lf\n",malz->stokMiktari); printf("%lf\n",malz->ozellik.nicel.agirlik); printf("%lf\n",malz->ozellik.nicel.miktar); printf("%lf\n",malz->ozellik.nicel.yogunluk); } int main() { malzeme m1; malzeme m2; //op1 işlemi yapılıyor... m1.firmaAdi = "fabrika1"; m1.markasi = "marka1"; m1.stokMiktari = 10.0; m1.ozellik.nitel.cins = 1; m1.ozellik.nitel.renk = 2; m1.ozellik.nitel.sekil = 3; //op2 işlemi yapılıyor... m2.firmaAdi = "fabrika2"; m2.markasi = "marka2"; m2.stokMiktari = 20.0; m2.ozellik.nicel.agirlik = 10.5; m2.ozellik.nicel.miktar = 12.5; m2.ozellik.nicel.yogunluk = 0.02; DisplayOp1(&m1); DisplayOp2(&m2); return 0; }