ที่นี่เราจะดูว่าสหภาพและโครงสร้างที่ไม่ระบุชื่อใน 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)