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

สหภาพนิรนามและโครงสร้างในC


ที่นี่เราจะดูว่าสหภาพและโครงสร้างที่ไม่ระบุชื่อใน C คืออะไร สหภาพและโครงสร้างที่ไม่ระบุชื่อเป็นสหภาพและโครงสร้างที่ไม่มีชื่อ เนื่องจากไม่มีชื่อ ดังนั้นเราจึงไม่สามารถสร้างวัตถุโดยตรงได้ เราใช้มันเป็นโครงสร้างหรือสหภาพที่ซ้อนกัน

นี่คือตัวอย่างของสหภาพและโครงสร้างที่ไม่เปิดเผยตัว

struct {
   datatype variable;
   ...
};
union {
   datatype variable;
   ...
};

ในตัวอย่างนี้ เรากำลังสร้างโครงสร้างหนึ่งที่เรียกว่า point ซึ่งถือโครงสร้างที่ไม่ระบุชื่อ นี่ถือสองค่า x, y เราสามารถเข้าถึงโครงสร้างนิรนามหรือสมาชิกสหภาพได้โดยตรง

ตัวอย่าง

#include<stdio.h>
struct point {
   // Anonymous structure
   struct {
      int x;
      int y;
   };
};
main() {
   struct point pt;
   pt.x = 10;
   pt.y = 20;
   printf("Point (%d,%d)", pt.x, pt.y); //anonymus members can be accessed directly
}

ผลลัพธ์

Point (10,20)