C语言中的结构和联合之间的区别
结构体
结构是用户定义的数据类型。它用于将不同类型的数据合并为一个类型。它可以具有多个成员和结构变量。关键字“struct”用于定义C语言的结构。可以使用dot(。)运算符来访问结构成员。
这是C语言结构的语法,
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
联盟
联合也是用户定义的数据类型。工会的所有成员共享相同的内存位置。工会的大小由最大工会会员的大小决定。如果要对两个或多个成员使用相同的内存位置,则最好使用并集。
联合类似于结构。联合变量的创建方式与结构变量相同。关键字“联合”用于定义C语言中的联合。
这是C语言中的并集的语法,
union union_name { member definition; } union_variables;
这里,
union_name-给工会的任何名字。
成员定义-成员变量集。
union_variable-这是联合的对象。
这是C语言中的联合示例,
示例
#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