Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

ความแตกต่างระหว่าง Structure และ Array ในภาษา C

ในภาษา C ทั้ง Structure และ Array ถูกใช้เป็นคอนเทนเนอร์สำหรับชนิดข้อมูล กล่าวคือ ทั้งสองโครงสร้างสามารถจัดเก็บข้อมูลและดำเนินการต่างๆ ได้

จากการทำงานภายใน (Internal Implementation) นี่คือความแตกต่างพื้นฐานระหว่างทั้งสอง:

ลำดับ หัวข้อ Structure Array
1 นิยาม Structure เป็นโครงสร้างข้อมูลที่ใช้เป็นคอนเทนเนอร์ ซึ่งสามารถจัดเก็บตัวแปรที่มีชนิดข้อมูลต่างกันได้ Array เป็นชนิดหนึ่งของโครงสร้างข้อมูลที่ใช้เป็นคอนเทนเนอร์ ซึ่งจัดเก็บตัวแปรที่มีชนิดข้อมูลเดียวกันเท่านั้น ไม่รองรับตัวแปรหลายชนิดข้อมูล
2 การจัดสรรหน่วยความจำ การจัดสรรหน่วยความจำสำหรับข้อมูลใน Structure ไม่จำเป็นต้องอยู่ในตำแหน่งหน่วยความจำที่ติดกัน ใน Array ข้อมูลจะถูกจัดเก็บในหน่วยความจำแบบติดกัน (Contiguous) หมายถึงจัดสรรบล็อกหน่วยความจำที่มีที่อยู่ติดกัน
3 การเข้าถึงข้อมูล ต้องใช้ชื่อของสมาชิก (Member Name) เพื่อเข้าถึงข้อมูลใน Structure ใน Array เข้าถึงข้อมูลได้ผ่านดัชนี (Index)
4 Pointer Structure ไม่มีแนวคิด Pointer ภายในโดยตรง Array ใช้ Pointer ภายในซึ่งชี้ไปยังสมาชิกแรกของ Array เสมอ
5 การสร้างอินสแตนซ์ สามารถสร้างอ็อบเจ็กต์ของ Structure หลังจากการประกาศได้ในภายหลังของโปรแกรม ไม่สามารถสร้างอ็อบเจ็กต์ของ Array หลังจากการประกาศได้
6 ชนิดข้อมูล รองรับตัวแปรหลายชนิดข้อมูล รองรับเฉพาะตัวแปรที่มีชนิดข้อมูลเดียวกันเท่านั้น
7 ประสิทธิภาพ ช้ากว่า Array เนื่องจากเป็น User-defined data type การเข้าถึงและค้นหาข้อมูลช้ากว่า เร็วกว่า Structure การเข้าถึงและค้นหาข้อมูลมีประสิทธิภาพดีกว่า