SORU
20 ŞUBAT 2010, CUMARTESİ


C başka bir yapı atamak

Bunun gibi başka bir yapı örneği atayabilirsiniz

struct Test t1;
struct Test t2;
t2 = t1;

Basit yapılar için çalışma gördüm, bu kompleks yapılar için çalışır?
Nasıl derleyici veri öğeleri türlerine bağlı olarak kopyalamak için nasıl biliyor mu, yani int ve bir dize arasında bir ayrım?

CEVAP
20 ŞUBAT 2010, CUMARTESİ


Evet, atama yapılar için desteklenir. Ancak, sorun da vardır:

struct S {
   char * p;
};

struct S s1, s2;
s1.p = malloc(100);
s2 = s1;

Şimdi de yapılar ve işaretçiler veri için bellek aynı blok için derleyici sivri kopyalamaz noktası. Şimdi zor veri sahibi. Bu C kullanıcı tanımlı atama operatörleri kavramı icat neden özel kod bu davaya yazabilirsiniz.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Kenneth Håkonsen

    Kenneth Håk

    13 Mart 2011
  • natescamp

    natescamp

    30 NİSAN 2009
  • Tina Chen

    Tina Chen

    26 Mayıs 2012