C和指针之联合体大小
【摘要】 1、联合体的特点和大小
union是共用一个内存首地址,联合体中每个成员的地址都相同,等于联合体变量的首地址 联合体的大小足够容纳最宽的成员,大小能被其包含的所有基本数据类型的大小所整除
2、测试Demo
#include <stdio.h> union var { long i...
1、联合体的特点和大小
union是共用一个内存首地址,联合体中每个成员的地址都相同,等于联合体变量的首地址
联合体的大小足够容纳最宽的成员,大小能被其包含的所有基本数据类型的大小所整除
2、测试Demo
-
#include <stdio.h>
-
-
union var
-
{
-
long int a;
-
int b;
-
};
-
-
-
union size
-
{
-
int a;
-
double b;
-
char c[11];
-
};
-
-
int main()
-
{
-
union var v;
-
v.a = 3.14;
-
printf("v.b is %d\n", v.b);
-
v.b = 6;
-
printf("v.a is %ld the address is %p\n", v.a, &v.a);
-
printf("v.b is %d the address is %p\n", v.b, &v.b);
-
-
union size union_first;
-
union size union_second;
-
union size union_third;
-
-
//大小足够容纳最宽的成员,大小能被其包含的所有基本数据类型的大小所整除
-
printf("the sizeof union_first is %d\n", sizeof(union_first));
-
printf("the sizeof union_second is %d\n", sizeof(union_second));
-
printf("the sizeof union_third is %d\n", sizeof(union_third));
-
printf("sizeof(long int) is %d\n", sizeof(long int));
-
printf("the sizeof
文章来源: chenyu.blog.csdn.net,作者:chen.yu,版权归原作者所有,如需转载,请联系作者。
原文链接:chenyu.blog.csdn.net/article/details/78650139
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)