Struct , Dizi ve Pointer hakkında bir soru

Peak2Peak

Aktif Üye
Katılım
27 Haziran 2020
Mesajlar
291
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:

Kod:
#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:

Kod:
#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...

Kod:
#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);

}

Kod:
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
7,863
Mesajlar
130,196
Üyeler
3,158
Son üye
SenCan

Son kaynaklar

Son profil mesajları

Mutluluğun resmi illa güzel çizilmiş tablo olmak zorunda değil.Bazen basit bir çizgi,doğru bir renk,yada küçük bir detay
Python Geliştirmeye eklediğim yapay zeka sunucusu, yeni başlayanlar için roket etkisi
Bir insanın zeka seviyesinin en kolay tesbiti, sorduğu sorulardır.
yapay zeka interneti yedi bitirdi, arama motoru kullanan, forumlara yazan kaldı mı ?
az bilgili çok meraklı
Back
Top