โครงสร้างและสหภาพถูกใช้ในโลกของการเขียนโปรแกรมเพื่ออำนวยความสะดวกในการทำงานของตัวแปร การไหลของข้อมูล และความสามารถในการจัดการข้อมูล การจัดการตัวแปรเป็นกระบวนการที่สำคัญมาก เนื่องจากช่วยให้เรากำหนดโครงสร้างอัลกอริธึมที่ซับซ้อนซึ่งสามารถประมวลผลข้อมูลได้ ในทำนองเดียวกัน ภาษาการเขียนโปรแกรม C มีตัวแปรสองประเภท เรียกว่าโครงสร้างและการรวม
ในทางกลับกัน ดูเหมือนว่าทั้งคู่จะมีฟังก์ชันที่ใกล้เคียงกัน และในบางกรณีก็สามารถนำมาใช้สำหรับฟังก์ชันเดียวกันได้เช่นกัน! อย่างไรก็ตาม มีความแตกต่างหลายประการที่สิ่งเหล่านี้มีอยู่ โดยรู้ว่าสิ่งใดที่ช่วยแยกความแตกต่างของคำศัพท์เหล่านี้
โครงสร้างเทียบกับยูเนี่ยน
ความแตกต่างระหว่างโครงสร้างและยูเนียนคือ ตำแหน่งหน่วยความจำที่แยกจากกันจะถูกจัดสรรให้กับสมาชิกแต่ละรายของโครงสร้าง อย่างไรก็ตาม ยูเนี่ยนมีตำแหน่งหน่วยความจำเดียวสำหรับเนื้อหาข้อมูลทั้งหมด
ตารางเปรียบเทียบระหว่างโครงสร้างและยูเนี่ยน
พารามิเตอร์ของการเปรียบเทียบ | โครงสร้าง | ยูเนี่ยน |
คำนิยาม | โครงสร้างจัดสรรรายการต่าง ๆ ไปยังตำแหน่งหน่วยความจำที่แตกต่างกัน | ยูเนี่ยน \จัดสรรรายการหน่วยความจำที่แตกต่างกันไปยังตำแหน่งเดียวกัน |
ไวยากรณ์ | struct struct1{ประเภทข้อมูล 1;ประเภทข้อมูล 2;…}ตัวแปร 1 ตัวแปร 2, …; | ยูเนี่ยน union1{ประเภทข้อมูล 1;ประเภทข้อมูล 2;…}ตัวแปร1; ตัวแปร2, …; |
คำสำคัญ | โครงสร้าง | สหภาพ |
หน่วยความจำ | ชนิดข้อมูลทั้งหมดอยู่ในตำแหน่งหน่วยความจำที่แยกจากกัน | ชนิดข้อมูลทั้งหมดอยู่ในตำแหน่งหน่วยความจำเดียวกัน |
ขนาด | ขนาดพื้นที่เก็บข้อมูลคือผลรวมของขนาดของรายการข้อมูลทั้งหมด | ขนาดพื้นที่เก็บข้อมูลคือค่าของประเภทข้อมูลที่ใหญ่ที่สุด |
โครงสร้างคืออะไร?
โครงสร้างเป็นตัวแปรที่สามารถเก็บข้อมูลได้หลายประเภทพร้อมกัน อย่างไรก็ตาม ควรสังเกตว่ารายการข้อมูลที่จัดโดยโครงสร้างอาจเป็นประเภทข้อมูลที่แตกต่างกัน ดังนั้น โครงสร้างเป็นวิธีที่มีประโยชน์มากสำหรับการจัดเก็บ การเข้าถึง และการจัดการข้อมูล โครงสร้างถูกกำหนดโดยใช้คำสั่ง 'struct'
เพื่อให้เข้าใจว่าคีย์เวิร์ดคืออะไร เราจะต้องดูแนวคิดของภาษาสักหน่อย ในภาษาการเขียนโปรแกรมใด ๆ ไม่ใช่แค่ C เราจำเป็นต้องใช้คำหลักหรือคำสั่งที่ช่วยให้คอมไพเลอร์รู้จักฟังก์ชันบางอย่างที่ได้รับการเรียกและจะดำเนินการตามนั้น
ไวยากรณ์ของโครงสร้างเป็นไปตามรูปแบบต่อไปนี้:
โครงสร้างโครงสร้าง_name{
ถ่าน firstName[10];
ถ่าน นามสกุล[10];
อายุภายใน;
ที่อยู่ถ่าน[20];
};
โครงสร้างนี้มีชื่อว่า 'structure_name' และสามารถเรียกได้ทุกที่ในฟังก์ชันหลังจากที่ถูกกำหนดแล้ว สามารถเรียกได้หลายครั้งตามต้องการ เราจะเห็นว่าโครงสร้างมีรายการข้อมูลสองสามรายการเป็นแอตทริบิวต์
คือชื่อจริงของบุคคล นามสกุลของบุคคลนั้น อายุ และที่อยู่ สังเกตว่ามีข้อมูลมากกว่าหนึ่งประเภทในโครงสร้างอย่างไร ชนิดข้อมูลทั้งหมดเหล่านี้จะมีตำแหน่งหน่วยความจำแยกต่างหากซึ่งจะถูกเก็บไว้
ตามค่าเริ่มต้น สมาชิกทั้งหมดในโครงสร้างจะเป็นแบบสาธารณะ โดยสาธารณะ เราหมายความว่าฟังก์ชันและอ็อบเจ็กต์อื่นๆ ทั้งหมดจะสามารถเข้าถึงประเภทข้อมูลทั้งหมดที่มีอยู่ในโครงสร้างได้ อย่างไรก็ตาม คุณสมบัตินี้สามารถเปลี่ยนเป็นแบบส่วนตัวได้ เพื่อปกป้องข้อมูล
ยูเนี่ยนคืออะไร?
ยูเนี่ยนเป็นชนิดข้อมูลที่สามารถจัดเก็บรายการข้อมูลต่างๆ ไว้ข้างในได้ พบได้ในภาษาการเขียนโปรแกรม C ซึ่งช่วยในการแทรก จัดการ และเข้าถึงข้อมูลในโปรแกรม อย่างไรก็ตาม ควรสังเกตว่าสหภาพแรงงานไม่สามารถเก็บรายการข้อมูลประเภทข้อมูลต่างๆ ได้ ดังนั้นสิ่งนี้จึงจำกัดความสามารถของสหภาพแรงงานเมื่อเทียบกับโครงสร้างในระดับหนึ่ง
เมื่อเรากำหนดหรือเรียกยูเนี่ยน มันเป็นวิธีการเดียวกับที่เราเรียกโครงสร้าง คีย์เวิร์ดสำหรับยูเนี่ยนคือ 'ยูเนี่ยน' เท่านั้น และตามด้วยชื่อของยูเนี่ยนที่โปรแกรมเมอร์ต้องการมอบให้ ไวยากรณ์ของยูเนี่ยนมีดังนี้:
ยูเนี่ยน union_name{
วัตถุข้อมูล 1;
วัตถุข้อมูล 2;
…;
};
คล้ายกับโครงสร้าง หลังจากถูกกำหนดแล้ว สามารถใช้ที่ใดก็ได้ในฟังก์ชันและในคลาสและอ็อบเจ็กต์อื่นๆ สามารถใช้สหภาพได้หลายครั้งตามต้องการ พื้นที่หน่วยความจำที่ถูกครอบครองโดยสหภาพจะเหมือนกับหน่วยความจำที่ต้องใช้เพื่อรองรับประเภทข้อมูลที่ใหญ่ที่สุดที่กล่าวถึงในสหภาพ
ความแตกต่างที่สำคัญระหว่างโครงสร้างและสหภาพ
บทสรุป
ฟังก์ชัน วัตถุ และคุณลักษณะต่างๆ ของภาษาการเขียนโปรแกรมจะกำหนดว่าจะเป็นประโยชน์ต่อโปรแกรมเมอร์หรือไม่ ภาษามีคุณลักษณะที่แตกต่างกัน ซึ่งกำหนดวัตถุประสงค์ที่จะให้บริการ บางภาษาสร้างได้ดีกว่าสำหรับการพัฒนาหน้าเว็บ บางภาษาสร้างขึ้นเพื่อพัฒนาเกม บางภาษาพัฒนาซอฟต์แวร์ประสิทธิภาพสูง และบางภาษาสำหรับแอปพลิเคชัน Android
มีวัตถุประสงค์มากมายสำหรับหลายภาษา ความจริงที่ว่าบางภาษาเป็นแบบเชิงวัตถุ ในขณะที่บางภาษาเป็นแบบเชิงโปรแกรม ภาษาเชิงวัตถุช่วยให้เราเพิ่มและลบโมดูล สิ่งนี้อำนวยความสะดวกในการสร้างซอฟต์แวร์ซึ่งช่วยให้ชีวิตของเราง่ายขึ้น