โครงสร้าง
โครงสร้างเป็นประเภทข้อมูลที่กำหนดโดยผู้ใช้ ใช้เพื่อรวมข้อมูลประเภทต่างๆ ให้เป็นประเภทเดียว สามารถมีสมาชิกหลายตัวและตัวแปรโครงสร้างได้ คีย์เวิร์ด “struct” ใช้เพื่อกำหนดโครงสร้างในภาษาซี สมาชิกโครงสร้างสามารถเข้าถึงได้โดยใช้ตัวดำเนินการ dot(.)
นี่คือไวยากรณ์ของโครงสร้างในภาษาซี
struct structure_name { member definition; } structure_variables;
ที่นี่
-
structure_name − ชื่อใด ๆ ที่กำหนดให้กับโครงสร้าง
-
คำจำกัดความของสมาชิก − ชุดของตัวแปรสมาชิก
-
structure_variable − นี่คือเป้าหมายของโครงสร้าง
นี่คือตัวอย่างโครงสร้างในภาษา C
ตัวอย่าง
#include <stdio.h> #include <string.h> struct Data { int i; long int f; } data, data1; int main( ) { data.i = 28; printf("The value of i : %d\n", (data.i)); printf( "Memory size occupied by data : %d\t%d", sizeof(data), sizeof(data1)); return 0; }
ผลลัพธ์
นี่คือผลลัพธ์
The value of i : 28 Memory size occupied by data : 16 16
ยูเนี่ยน
ยูเนี่ยนยังเป็นประเภทข้อมูลที่กำหนดโดยผู้ใช้ สมาชิกสหภาพทุกคนมีตำแหน่งในความทรงจำเดียวกัน ขนาดของสหภาพถูกกำหนดโดยขนาดของสมาชิกที่ใหญ่ที่สุดของสหภาพ หากคุณต้องการใช้ตำแหน่งหน่วยความจำเดียวกันสำหรับสมาชิกสองคนขึ้นไป สหภาพจะดีที่สุดสำหรับสิ่งนั้น
สหภาพแรงงานมีลักษณะคล้ายกับโครงสร้าง ตัวแปรยูเนี่ยนถูกสร้างขึ้นในลักษณะเดียวกับตัวแปรโครงสร้าง คีย์เวิร์ด “union” ใช้เพื่อกำหนดสหภาพในภาษาซี
นี่คือรูปแบบของสหภาพแรงงานในภาษาซี
union union_name { member definition; } union_variables;
ที่นี่
-
union_name − ชื่อใดๆ ที่มอบให้กับสหภาพแรงงาน
-
คำจำกัดความของสมาชิก − ชุดของตัวแปรสมาชิก
-
union_variable − นี่คือเป้าหมายของสหภาพ
นี่คือตัวอย่างสหภาพแรงงานในภาษาซี
ตัวอย่าง
#include <stdio.h> #include <string.h> union Data { int i; float f; } data, data1; int main( ) { printf( "Memory size occupied by data : %d\t%d", sizeof(data), sizeof(data1)); return 0; }
ผลลัพธ์
นี่คือผลลัพธ์
Memory size occupied by data : 4 4