Picproje Elektronik Sitesi

DERLEYİCİLER => Diğer Derleyiciler => KEIL => Konuyu başlatan: brlesc - 15 Ağustos 2013, 22:34:48

Başlık: struct ve union ile dizi erişimi
Gönderen: brlesc - 15 Ağustos 2013, 22:34:48
herkese kolay gelsin arkadaslar..
elimde bir dizi var. dizide ad soyad yas bilgileri sıralı sekilde ve sabit uzunlukda kayıtlı. ben bu bilgileri diziden ayrı ayrı değişkenlere alırken dongu kullanıyorum..  Sorum ise ben bu bilgleri struct union kullanarak bunlara erisebilirmiyim.. union ve struct kullanarak bir byte ın bitlerine erisiyorum ama dizinin istedigim kadar bytına erişmem mumkunmudur yardımcı olabilirmisiniz...
Tesekkur ederim...
Başlık: Ynt: struct ve union ile dizi erişimi
Gönderen: Gökhan BEKEN - 15 Ağustos 2013, 22:52:01
union aynı bellek adresine birden fazla değişken ismi ile erişmeye yarar.
örneğin:

union deneme{
   char* ad;
   char* isim;
}kisi;

int main()
{

   kisi.ad    = "picproje";
   printf("ad = %c   isim = %c\n",kisi.ad, kisi.isim);

   kisi.isim   = "google";
   printf("isim = %c   ad = %c\n",kisi.isim, kisi.ad);

return 0;
}

kisi.ad kısmına picproje dediğimizde kisi.isim'de aynı adreste olduğundan kisi.isim'de picproje olur
kisi.isim kısmına google dediğimizde kisi.ad'da aynı adreste olduğundan kisi.ad'da google olur

Bence sizin union ile bir işiniz yok.

Struck ta diziler için örnek: http://kursattopcuoglu.blogspot.com/2010/06/ilk-donem-final-sorusuna-benzer-bir.html (http://kursattopcuoglu.blogspot.com/2010/06/ilk-donem-final-sorusuna-benzer-bir.html)
Başlık: Ynt: struct ve union ile dizi erişimi
Gönderen: brlesc - 15 Ağustos 2013, 23:05:47
cevabınız için tesekkur ederim ama burada anladıgım kadarı ile struct içindeki değişkenlere verileri yazmak için dongu kullanılmıs. ben direk bitlere erisir gibi dizinin belirli bolgesine erişmek okumak yazmak istiyorum;


kisi.isim="deneme";
soyad = kisi.soyad;

seklinde kısaca yani.
veridiginiz linki yanlıs yorumladı isem kusura bakmayın
Başlık: Ynt: struct ve union ile dizi erişimi
Gönderen: Gökhan BEKEN - 16 Ağustos 2013, 00:47:14
dizideki değer: "deneme" diyelim, amacınız örneğin: baştan 3. karakter olan 'n' karakterine erişmek ve gerektiğinde değiştirmek mi?
Başlık: Ynt: struct ve union ile dizi erişimi
Gönderen: brlesc - 16 Ağustos 2013, 01:09:13
hayır hocam tam olarak su sekilde;
elimde bir dizi var
dizinin içerigi  "enis      aslan     21"
10byte isim için 10byte soyisim için 2 byte yas için

dizi.isim dedigim zaman "enis      " seklinde almak istiyorum veriyi
yada değiştiriken dizi.isim="deneme    "; seklinde değiştirmek istiyorum..
dizinin belirli kısımlarına erişmek istiyorum yani
Başlık: Ynt: struct ve union ile dizi erişimi
Gönderen: brlesc - 16 Ağustos 2013, 13:43:30
Bu konuda yardımcı olabilecek kimse yok mu
Başlık: Ynt: struct ve union ile dizi erişimi
Gönderen: Klein - 16 Ağustos 2013, 15:31:39
Alıntı yapılan: brlesc - 16 Ağustos 2013, 13:43:30
Bu konuda yardımcı olabilecek kimse yok mu
Malesef yok. Çünkü  istediğiniz şekilde veri almanız mümkün değil. 
Ama verinin başladığı noktanın adresini alabilirsin.
C'de "=" operatörünü  o şekilde kullanamazsınız. 
Başlık: Ynt: struct ve union ile dizi erişimi
Gönderen: brlesc - 16 Ağustos 2013, 15:55:45
Anladım hocam teşekkür ederim cevaplarınız için