در این قسمت شما را با مفهوم ساختمان در زبان برنامه نویسی ++C آشنا خواهیم کرد و برای درک بهتر و بیشتر یک مثال هم در ادامه آموزش جای داده ایم.اگر در برنامه ای برای مثال اطلاعات کارمندی ذخیره می شود، نگهداری داده های مجزا مانند نام، فامیل، حقوق و غیره در متغیرهای جداگانه و تشخیص اینکه داده ها متعلق به اطلاعات کارمند است آسان نیست. ساختمان (structure) راه ساده ای برای گروه بندی چند متغیر مرتبط بهم تحت یک نام مشترک است. نوع متغیرهای درون ساختمان برخلاف آرایه می تواند متفاوت از یکدیگر و از هر نوع داده استاندارد، آرایه، اشاره گر یا حتی ساختمان باشد. هر متغیر درون ساختمان یک جزء از ساختمان نامیده می شود.

تعریف کلی ساختمان به صورت زیر است:

struct structurename
}
;vartype varname
;vartype varname
;variable

}

کلمه کلیدی struct شروع تعریف ساختمان است. بدنبال آن اسم نوع ساختمان می آید که مانند اسامی متغیرها هر اسم مجازی می تواند باشد. اجزای ساختمان درون آکولاد قرار می گیرند.

مثال. تعریف نوع ساختمان کارمند به نام employee با اجزای lastname، firstname و salary.

struct employee {
char lastname[30];
char firstname[30];
float salary;
};

وقتی ساختمان را تعریف می کنید می توانید متغیری از نوع آن را اعلان کنید تا مانند متغیرهای دیگر فضائی از حافظه برای آن کنار گذاشته شود. فضای مورد نیاز بستگی به اندازه ساختمان دارد. اندازه ساختمان با جمع کلیه نوع های داده اجزای آن محاسبه می شود.

دو راه برای تعریف متغیر ساختمان وجود دارد: بلافاصله بعد از تعریف ساختمان یا در محل دیگری از برنامه.

مثال. اعلان متغیر ساختمان MyEmployee از نوع employee بلافاصله بعد از تعریف ساختمان.

struct employee {
char lastname[30];
char firstname[30];
float salary;
}MyEmployee;

مثال. اعلان متغیر ساختمان SecondEmployee از نوع ساختمان موجود employee.

struct employee SecondEmployee;


اگر ساختمان در جاهای مختلف برنامه استفاده می شود بهتر است در یک فایل هدر قرار بگیرد سپس در فایل اصلی ضمیمه شود.