0Pricing
C Academy · บทเรียน

ยูเนียนและประสิทธิภาพการใช้หน่วยความจำ

ทำความเข้าใจความแตกต่างระหว่าง struct กับ union และวิธีที่ union ช่วยเพิ่มประสิทธิภาพการใช้หน่วยความจำ

ยูเนียนและประสิทธิภาพการใช้หน่วยความจำ เป็นบทเรียน C Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 3 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน C Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส C Academy มีบทเรียนทั้งหมด 3 บทเรียน

ยูเนียนและประสิทธิภาพการใช้หน่วยความจำ

ยูเนียนและประสิทธิภาพการใช้หน่วยความจำ

ยูเนียนคือชนิดข้อมูลพิเศษที่ช่วยให้จัดเก็บชนิดข้อมูลที่แตกต่างกันไว้ในตำแหน่งหน่วยความจำเดียวกันได้

ในบทเรียนนี้ คุณจะได้เรียนรู้:

  • วิธีกำหนดและใช้ยูเนียน
  • ความแตกต่างระหว่างโครงสร้างกับยูเนียน
  • วิธีที่ยูเนียนช่วยเพิ่มประสิทธิภาพการใช้หน่วยความจำ
ยูเนียนและประสิทธิภาพการใช้หน่วยความจำ — ภาพประกอบ 1

ยูเนียนคืออะไร

ยูเนียนคืออะไร

ยูเนียนมีลักษณะคล้ายโครงสร้าง แต่สมาชิกทั้งหมดใช้พื้นที่หน่วยความจำเดียวกัน

ตัวอย่าง:

union Data { int i; float f; char str[20]; };

ในที่นี้ i f และ str ใช้ตำแหน่งหน่วยความจำเดียวกัน

การประกาศและใช้ยูเนียน

การประกาศและใช้ยูเนียน

ประกาศและใช้ยูเนียนได้เช่นเดียวกับโครงสร้าง:

union Data d1;

การกำหนดค่า:

d1.i = 10;

ในแต่ละครั้ง สมาชิกเพียงหนึ่งรายการเท่านั้นที่สามารถจัดเก็บค่าได้

ตัวอย่าง: การใช้ยูเนียน

ตัวอย่าง: การใช้ยูเนียน

โปรแกรมนี้สาธิตวิธีที่ยูเนียนจัดเก็บค่าไว้ในตำแหน่งหน่วยความจำที่ใช้ร่วมกัน

#include <stdio.h>

union Data {
    int i;
    float f;
    char str[20];
};

int main() {
    union Data d1;
    d1.i = 10;
    printf("Integer: %d\n", d1.i);
    d1.f = 20.5;
    printf("Float: %f\n", d1.f);
    return 0;
}

การจัดสรรหน่วยความจำในยูเนียน

การจัดสรรหน่วยความจำในยูเนียน

ยูเนียนต่างจากโครงสร้างตรงที่ ขนาดของยูเนียนจะกำหนดโดยสมาชิกที่มีขนาดใหญ่ที่สุด

ตัวอย่าง:

union Data { int i; // 4 bytes float f; // 4 bytes char str[20]; // 20 bytes };

ยูเนียนนี้มีขนาด 20 ไบต์ ไม่ใช่ 28 ไบต์

ความแตกต่างระหว่างโครงสร้างกับยูเนียน

ความแตกต่างระหว่างโครงสร้างกับยูเนียน

โครงสร้าง:

  • สมาชิกแต่ละรายการมีตำแหน่งหน่วยความจำแยกกัน
  • ขนาดเท่ากับผลรวมของสมาชิกทั้งหมด

ยูเนียน:

  • สมาชิกทั้งหมดใช้ตำแหน่งหน่วยความจำเดียวกัน
  • ขนาดกำหนดโดยสมาชิกที่มีขนาดใหญ่ที่สุด

ตัวอย่าง: การเปรียบเทียบโครงสร้างกับยูเนียน

ตัวอย่าง: การเปรียบเทียบโครงสร้างกับยูเนียน

โปรแกรมนี้แสดงขนาดหน่วยความจำของโครงสร้างและยูเนียน

#include <stdio.h>

struct StructExample {
    int i;
    float f;
    char str[20];
};

union UnionExample {
    int i;
    float f;
    char str[20];
};

int main() {
    printf("Size of struct: %lu bytes\n", sizeof(struct StructExample));
    printf("Size of union: %lu bytes\n", sizeof(union UnionExample));
    return 0;
}

เมื่อใดควรใช้ยูเนียน

เมื่อใดควรใช้ยูเนียน

ยูเนียนมีประโยชน์เมื่อ:

  • ให้ความสำคัญกับประสิทธิภาพการใช้หน่วยความจำ
  • ตัวแปรจำเป็นต้องจัดเก็บชนิดข้อมูลที่แตกต่างกันในเวลาที่แตกต่างกัน
  • ทำงานกับรีจิสเตอร์ฮาร์ดแวร์

สรุป

สรุป

ในบทเรียนนี้ คุณได้เรียนรู้:

  • การทำงานของยูเนียนและวิธีที่ยูเนียนช่วยประหยัดหน่วยความจำ
  • ความแตกต่างระหว่างโครงสร้างกับยูเนียน
  • วิธีใช้ยูเนียนในสถานการณ์จริง

ถัดไป เราจะสำรวจการแจกแจงในภาษา C

ยูเนียนและประสิทธิภาพการใช้หน่วยความจำ — ภาพประกอบ 10

คำถามที่พบบ่อย

บทเรียน “ยูเนียนและประสิทธิภาพการใช้หน่วยความจำ” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “ยูเนียนและประสิทธิภาพการใช้หน่วยความจำ” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส C Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส C Academy มีบทเรียนทั้งหมด 3 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “ยูเนียนและประสิทธิภาพการใช้หน่วยความจำ”

ทำความเข้าใจความแตกต่างระหว่าง struct กับ union และวิธีที่ union ช่วยเพิ่มประสิทธิภาพการใช้หน่วยความจำ คุณปฏิบัติ C Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน C Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน C Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 3 บทเรียน

บทเรียน “ยูเนียนและประสิทธิภาพการใช้หน่วยความจำ” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน C Academy นี้ได้ไหม

ได้ บทเรียน C Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. การกำหนดและใช้งานโครงสร้าง
  2. ยูเนียนและประสิทธิภาพการใช้หน่วยความจำ
  3. การแจกแจง (enum)
← กลับไปที่ C Academy