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

  • Helder Barreto

    Helder Barre

    22 Mayıs 2006
  • LinusTechTips

    LinusTechTip

    25 Kasım 2008
  • OnlyFunClips

    OnlyFunClips

    16 ŞUBAT 2012