ตารางเปรียบเทียบ
| Array (อาร์เรย์) | Structure (โครงสร้าง) |
|---|---|
| เก็บข้อมูลชนิดเดียว (Same data type) | เก็บข้อมูลหลายชนิด (Different data types) |
| สมาชิกเรียกว่า Elements (อิลิเมนต์) | สมาชิกเรียกว่า Members (เมมเบอร์) |
| การประกาศจองหน่วยความจำสำหรับ Elements | การนิยามจองหน่วยความจำสำหรับ Members |
| ไม่มีคีย์เวิร์ดเฉพาะ ใช้ [] หลังชื่อตัวแปร | ใช้คีย์เวิร์ด struct |
| Initialization ได้ตอนประกาศ | Initialization ได้ตอนนิยาม (definition) เท่านั้น |
| เก็บในหน่วยความจำติดกัน (Contiguous) | อาจไม่ติดกัน (Padding/Alignment) |
| เข้าถึงด้วย [index] | เข้าถึงด้วย . (dot operator) หรือ -> (arrow) |
รูปแบบ: type name[size]; |
รูปแบบ: struct tag { type m1; type m2; } var; |
ตัวอย่าง: int sum[100]; |
ตัวอย่าง: struct student { char name[25]; int rollno; } s1; |
สรุป
- Array: เหมาะสำหรับข้อมูลชนิดเดียวจำนวนมาก ต้องการเข้าถึงแบบสุ่ม (Random access)
- Structure: เหมาะสำหรับข้อมูลหลายชนิดที่เกี่ยวข้องกัน (Record)