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

  • Facebook Developers

    Facebook Dev

    24 ŞUBAT 2009
  • Google Analytics

    Google Analy

    25 ŞUBAT 2008
  • Ty Moss

    Ty Moss

    20 Kasım 2007