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.
 

Forum istatistikleri

Konular
6,952
Mesajlar
118,760
Üyeler
2,824
Son üye
selocan32

Son kaynaklar

Son profil mesajları

hakan8470 wrote on Dede's profile.
1717172721760.png
Dedecim bu gul mu karanfil mi? Gerci ne farkeder onu da anlamam. Gerci bunun anlamini da bilmem :gulus2:
Lyewor_ wrote on hakan8470's profile.
Takip edilmeye başlanmışım :D ❤️
Merhaba elektronik tutsakları...
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?
Back
Top