โครงสร้าง (Structure) คือชุดของตัวแปรที่มีชนิดข้อมูลต่างกัน จัดกลุ่มรวมกันภายใต้ชื่อเดียว เป็นชุดข้อมูลที่หลากหลาย (Heterogeneous) ที่แบ่งปันชื่อร่วมกัน
คุณสมบัติของโครงสร้าง
สามารถคัดลอกเนื้อหาของสมาชิกโครงสร้างทุกชนิดข้อมูล ไปยังตัวแปรโครงสร้างอีกตัวของชนิดเดียวกัน โดยใช้ตัวดำเนินการกำหนดค่า
เพื่อจัดการชนิดข้อมูลที่ซับซ้อน สามารถสร้างโครงสร้างภายในโครงสร้างอีกทีหนึ่ง เรียกว่าโครงสร้างซ้อน (Nested Structures)
สามารถส่งโครงสร้างทั้งหมด สมาชิกเฉพาะ และที่อยู่ของโครงสร้าง ไปยังฟังก์ชันได้
สามารถสร้างพอยน์เตอร์โครงสร้างได้
รูปแบบทั่วไปของการประกาศโครงสร้าง:
datatype member1;
struct tagname {
datatype member2;
datatype member n;
};ที่นี่:
struct เป็นคีย์เวิร์ด
tagname ระบุชื่อของโครงสร้าง
member1, member2 ระบุรายการข้อมูลที่ประกอบโครงสร้าง
ตัวอย่าง:
struct book {
int pages;
char author[30];
float price;
};ตัวแปรโครงสร้าง (Structure Variables)
มี 3 วิธีในการประกาศตัวแปรโครงสร้าง:
ประเภทที่ 1
struct book {
int pages;
char author[30];
float price;
} b;ประเภทที่ 2
struct {
int pages;
char author[30];
float price;
} b;ประเภทที่ 3
struct book {
int pages;
char author[30];
float price;
};
struct book b;