Ben şuna benzer, diğer bir yapıdaki bir dizi içeren bir yapıya sahiptir. Bir modülün açıklaması olarak tasarlanmıştır. Ben c99 bileşik değişmez değerler ile bunu yapmaya çalıştı, ama derleyici (gcc) beğenmedim:İçiçe yapılar/diziler başlatma
Bla test =
{
0, (Point[]) {(Point){1, 2}, (Point){3, 4}}
};
Ben aşağıdaki hataları alıyorum: Ben değiştirmek gerekmez yana
error: initializer element is not constant error: (near initialization for 'test')
gerektiği kadar çok "const" koyabilirim. Derlemek için bir yolu var mı?
Bu, iki nokta için belleği dinamik olarak ayırıyor mu? – aib
@aib: Evet, iki tam anlamıyla bir "nokta" yapı dizisi oluşturur (dosya kapsamından beri statik depolama süresi vardır) ve "test" in "foo" üyesini işaret eder. Bir diziyi ayrı ayrı tanımlamak ve "foo" üyesini işaret etmekle eşdeğer bir kısayoldur. –