C başka bir yapı atamak | Netgez.com
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

  • ★ByScrapi★ Designs

    ★ByScrapiâ

    27 AÄžUSTOS 2013
  • Dom Esposito

    Dom Esposito

    26 Mayıs 2011
  • modica89

    modica89

    24 HAZİRAN 2007