Diziler aynı türden verileri bir arada tutmamızı sağlar. Örneğin int, char, float gibi aynı türden verilerimizi diziler ile tutabiliriz. Farklı türden verileri bir grup olarak ele almak istiyorsak diziler bizim işimizi görmeyecektir. Burada veri yapıları devreye girmektedir. Yani bir kümemiz olsun ve içerisinde hem int hem char hem de float türünde verilerimiz olsun. İşte anlatmaya çalıştığımız bu veri kümelerine yapı (struct) denilmektedir. Bir örnek ile konuyu biraz daha detaylı ele alalım.

Örnek: Farklı marka ve modellerde 5 adet arabamız olsun. Biz bu araba modellerine ait verileri bir dizide saklamak istiyoruz. Bu veriler; marka, model, yakıt sistemi, maksimum tork, silindir hacmi ve ateşleme sistemi gibi olabilir. Bu verileri kaydederken marka char olarak kayıt edilirken model int olarak kayıt edilecektir ve bu iki değeri aynı dizide kayıt edemeyeceğiz. Sonuç olarak her veri için farklı bir dizi oluşturmamız gerekmektedir. Daha sonra A markasına ait arabanın verilerini öğrenmek istediğimizde bütün dizilerde A markasına ait arabanın özelliklerini bulmamız gerekmektedir. Sonuca ulaşıyoruz ama sistem karmaşıklaşıyor ve hata yapma payımız artıyor. Aynı işlemleri yapılar ile yapmaya çalışır isek. A marka arabaya ait veriler  A markası altında, B markasına ait veriler ise B markası adı altında saklanmaktadır. Bu sayede hiç bir karmaşıklığa girmeden verileri saklamış ve ihtiyac duyulduğunda çağırmış olacağız.

Yapıların Tanımlanması