Struct , Dizi ve Pointer hakkında bir soru

Peak2Peak

Aktif Üye
Katılım
27 Haziran 2020
Mesajlar
289
Elimde kart karma ve dağıtma programı var. Ama kafam inanılmaz karıştı.Bir struct yapısından kart isminde bir dizi değişkeni oluşturulmuş(satır 21).Bu değişkeni desteyikar fonksiyonuna göndermişler.(satır33)Bu fonkisyon içerinsinde struct tarafından oluşturulmuş değişkenlere erişmek yerine direk struct yapı adı ile atamalar yapılmış.(satır49)
Ya kendi kodumu uydurarak anlatmaya çalışayım.Böle bir şey mümkün mü ? Bir struct değişken tipli değişkene direk bişeyler yazabiliyor muyum? Yazarsam struct içindeki değişkenlere neler oluyor.Nereye yazılıyor.
struct {
int x;
int y;
}
int main(){

struct a b[52];
b[2]=1;
}
c2fab9bb-1d9e-41bf-9864-180974dd7dc1.jpg
93822cb0-cf0b-425d-a0ee-b8f479934a1a.jpg
 
Bir veri tipine başka bir veri tipinin içeriği atanabilir:

C:
#include <stdio.h>

struct yapi
{
   int x;
   int y;
};

int main(void)
{
   struct yapi a = {0, 0};
   struct yapi b = a;
}

b değişkenine a değişkeninin içeriği atanırken altta yapılan şey, byte byte kopyalamadır.

C++ dilinde bu konuda çok daha ileri seviyede özellikler var. Bir nesnenin başka bir nesneye ataması yapılırken, bu atamanın tam olarak nasıl yapılacağını da belirleyebiliyorsun.
 
Bir veri tipine başka bir veri tipinin içeriği atanabilir:

C:
#include <stdio.h>

struct yapi
{
   int x;
   int y;
};

int main(void)
{
   struct yapi a = {0, 0};
   struct yapi b = a;
}

b değişkenine a değişkeninin içeriği atanırken altta yapılan şey, byte byte kopyalamadır.

C++ dilinde bu konuda çok daha ileri seviyede özellikler var. Bir nesnenin başka bir nesneye ataması yapılırken, bu atamanın tam olarak nasıl yapılacağını da belirleyebiliyorsun.
kodda struct ulaşirken dizinin indexler belirteçlerini kullanmış
56 satırda gecici=wdeste yaparken
struct kart tipindeki wdeste değişkenin içindeki iki adet a,b değişkeni aynı struct'ın farklı değişkeni olan gecici değişkenin içindeki a,b değişkenlerinr atıyor.Yani anladığım bu ama biraz karışık yazmış olabilirim.
 
Konudaki sorunun cevabı olmamakla beraber bugun biraz struck konusu ile uğraştım. Örnek olması açısındna kodu ekliyorum. Galiba ilkel OOP yaptım...

C:
#include<stdio.h>


struct stoklar
{
    char *adi;
    int miktar;
};
typedef struct stoklar stok;

void stok_ekle(stok *stok_no, int miktar)
{
    stok_no->miktar += miktar;
}

void stok_goster(stok *stok_no)
{
    printf("\nStok Adı : %s \n",stok_no->adi);
    printf("Stok Miktari : %d \n\n",stok_no->miktar);
}
int main()
{

stok stk1={"Kalem"};
stok stk2={"Silgi",8};

stok_ekle(&stk1,5);
stok_goster(&stk1);
stok_goster(&stk2);

}

Program Çıktısı:
Stok Adı : Kalem
Stok Miktari : 5


Stok Adı : Silgi
Stok Miktari : 8
 
Elimde kart karma ve dağıtma programı var. Ama kafam inanılmaz karıştı.Bir struct yapısından kart isminde bir dizi değişkeni oluşturulmuş(satır 21).Bu değişkeni desteyikar fonksiyonuna göndermişler.(satır33)Bu fonkisyon içerinsinde struct tarafından oluşturulmuş değişkenlere erişmek yerine direk struct yapı adı ile atamalar yapılmış.(satır49)
Ya kendi kodumu uydurarak anlatmaya çalışayım.Böle bir şey mümkün mü ? Bir struct değişken tipli değişkene direk bişeyler yazabiliyor muyum? Yazarsam struct içindeki değişkenlere neler oluyor.Nereye yazılıyor.

12598 eklentisine bak12599 eklentisine bak
Elimde kart karma ve dağıtma programı var. Ama kafam inanılmaz karıştı.Bir struct yapısından kart isminde bir dizi değişkeni oluşturulmuş(satır 21).Bu değişkeni desteyikar fonksiyonuna göndermişler.(satır33)Bu fonkisyon içerinsinde struct tarafından oluşturulmuş değişkenlere erişmek yerine direk struct yapı adı ile atamalar yapılmış.(satır49)
Ya kendi kodumu uydurarak anlatmaya çalışayım.Böle bir şey mümkün mü ? Bir struct değişken tipli değişkene direk bişeyler yazabiliyor muyum? Yazarsam struct içindeki değişkenlere neler oluyor.Nereye yazılıyor.

12598 eklentisine bak12599 eklentisine bak
Bildiğim kadarıyla direkt struct içine bir şey yazamazsın, bende yazmayı denedim ama olmuyor. Diziyi oluşturup bu diziyle struct oluşturursan bu örnekteki gibi deste[2] yi görmeye çalıştığın zaman anlamsız bir şey çıkıyor. Yani kısaca açıklamak istersem Struct bir yapı olduğu için tek başına kullanılmıyor deste[2].takim gibi struct içindeki değişkenlerle kullanman gerekiyor.
 

Çevrimiçi personel

Forum istatistikleri

Konular
5,982
Mesajlar
102,041
Üyeler
2,514
Son üye
evrenbasaran

Son kaynaklar

Son profil mesajları

deneyci wrote on hakan8470's profile.
Sibonge uNkulunkulu ngokuhlukahluka asinike kona.

Bu hangi dil? :)
Lyewor_ wrote on taydin's profile.
Merhabalar. Elektrik laboratuvarınız varsa bunun hakkında bir konunuz var mı acaba? Sizin laboratuvarınızı merak ettim de :)
Lyewor_ wrote on taydin's profile.
Merhabalar forumda yeniyim! Bir sorum olacaktı lcr meterler hakkında. Hem bobini ölçen hemde bobin direnci ölçen bir lcr meter var mı acaba?
gruptaki arkadaşlara selamlar. sıteyi bu gün fark ettim. Asansör için 2x7 segment LCD gösterge üretmek istiyorum. acaba bu sayfadaki arkadaşlardan destek alabilirmiyim. LCD nin mantık açılımı ektedir.
deneyci wrote on TA3UIS's profile.
Selam.
Amatör telsiz lisansı nasıl alınıyor?
Lisansı olmayanı forumlarına almıyorlar. :)
Bilgi alamıyoruz.
Back
Top