struct: Birbirleri ile ilgili birçok veriyi tek bir isim altında toplamak için bir yoldur. Örneğin programlama dillerinde reel sayılar için double, tamsayılar için int yapısı tanımlıyken, karmaşık sayılar için böyle bir ifade yoktur. Bu yapıyı struct ile oluşturmak mümkündür.
struct complex a, b;
a.real = 4; b.real = 6;
a.im = 7; b.im = 9;
Şimdi de hem pointer olan hem de bir nesne olan tanımlama yapalım ve elemanlarına erişelim.
struct complex obj;
struct complex *p = &obj;
p -> real = 7; obj.real = 7;
p -> im = 8; obj.im = 8;
Alternatif struct tanımları
Görüldüğü gibi bir typedef anahtar sözcüğüyle tanımlanan struct yapısından hemen sonra yapı ismi tanımlanıyor. Artık bu tanımlamadan sonra nesneleri oluştururken başa struct yazmak gerekmeyecektir.