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

  • CareyHolzman

    CareyHolzman

    24 Ocak 2008
  • Paste Magazine

    Paste Magazi

    28 AĞUSTOS 2008
  • PCDIY

    PCDIY

    16 AĞUSTOS 2013