C 联合体
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C 联合体相关的知识,希望对你有一定的参考价值。
联合体和结构体最大的区别是:
结构体各个成员都有自己的内存空间
联合体所有的成员共用同一个内存空间,空间的大小取决于所有成员中占用内存空间最大的那个。
放一段代码:
#include <stdio.h> #include <stdlib.h> typedef union _m { int c; char name[20]; }M; int main() { system("color 2E"); printf("联合体 M 占用的内存大小 : %d\n" , sizeof(M)); return 0; }
其结果为:
实际上可以这么理解 : union在同一时间只能使用其所有成员中的一个成员。
如果使用union , 赋值一个成员 , 因为union中所有的成员都使用同一块内存空间 , 实际上其他成员的内存内容也改了 , 再去使用其他成员的话,值都是乱七八糟的。
本文出自 “Better_Power_Wisdom” 博客,请务必保留此出处http://aonaufly.blog.51cto.com/3554853/1918601
以上是关于C 联合体的主要内容,如果未能解决你的问题,请参考以下文章
尽管未使用接口或联合,但 readFragment 导致 IntrospectionFragmentMatcher 错误