Jump to content
Forumu Destekleyenlere Katılın ×
Paticik Forumları
2000 lerden beri faal olan, çok şukela bir paylaşım platformuyuz. Hoşgeldiniz.

c öğreniyoruz volume bin


Öne çıkan mesajlar

Mesaj tarihi:
c de şöyle bişi yapma imkanımız var mı


struct yapi
{
int say1;
int say2;
};

struct yapi *bilgi;


daha sonra main içinde


scanf("%d", &bilgi->say1);


dersek çat diye girdiyi say1e atması gerekmez mi?

illa


struct yapi
{
int say1;
int say2;
};

struct yapi bilgi;
struct yapi *bilgi_ptr;


diyip sonra main içinde


bilgi_ptr = &bilgi;
scanf("%d", &bilgi_ptr->say1);


yapmamız gerekir. benim bildigim ilk şeklinde dogru çalışması gerekiyordu ama compeiler değil win hata veriyor.
Mesaj tarihi:
Abi bak buradaki:
struct yapi
{
int say1;
int say2;
};

struct yapi *bilgi;

bilgi dediğin şey pointer sadece. VE hiç bir şeyi point etmiyo. Yani o pointerin ucunda bir yapı struct'ı yok. Neden yok? çünkü atamamışsın.
Nasıl atarsın? İster alloc ile ister new ile.
2.sinde yaptığın olay bu çünkü.

struct yapi pikaçu;
demişsin bu varolan bir yapi strağı. sonra pointera bunu koyabiliyosun işte...

yani bu olay yok ve yalan: (dev c++ da değişiklik yapabiliyor.)
said:
direk yaratması lazım bellekte o yapi kadar bir boşluk bi de ona pointlemesi lazım.(diye biliyorum)
Mesaj tarihi:

yapi* bilgi = (yapi*)calloc(1, sizeof(yapi));

İlk dediğin şekilde yaparken üstteki gibi bellekten yer ayırtıyosun, yani allocate ediyosun.
malloc ile de yapabilirsin ama hem alışkanlıktan hem de tam olarak ne olduğunu hatırlamadığım bi nedenden dolayı calloc fonksiyonunu kullanıyorum ben :P
×
×
  • Yeni Oluştur...