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