c语言共同体定义与使用 C语言中联合体(union)的使用?
C语言中联合体(union)的使用?
联合体也被称为Commons。在我看来,下议院的名称更为合理。structure和struct都属于C语言数据类型的结构类型。例如,uniuon data{int i char c float f}x将公共主体类型名称定义为数据类型,并且有三个属性,即int i char c float f。这三个属性一起占用内存空间,因此在所选属性中占用空间最多的是float f。它需要四个字节。由于共同的职业,同一时间只能保留一个属性内容。如果是struct data{int i char c float f}x,则表示定义的结构类型的名称是data type,这也是三个属性。但是,内存中占用的空间是这三个属性的总和。如果int类型在编译器中分配4个字节,则分配的总字节数为4 1 4,总字节数为9。因为它是单独使用的,所以可以同时保留所有属性内容
struct test{char name[10]/*共10字节*/[print score/*2字节*/[print number/*2字节*/}stu,那么stu在内存(在VC中)中总共占用102=14字节的环境,它将是16字节,编译器要求它是4的整数倍)。按顺序访问内容不会干扰内存段中的其他数据(例如,输入名称不会影响分数的内容); typedef union是命名共享权重的方法。Typedef是C语言的一个关键字,用于定义数据类型的新名称。 2. 这里的数据类型包括内部数据类型(int、char等)和自定义数据类型(struct等)。 3. 在编程中使用typedef有两个目的:一个是给变量起一个新的名字,这个名字很容易记住,并且有明确的含义;另一个是简化一些更复杂的类型声明。 4. Format typedef original type name new type name Commons:sizeof(Union data1)的值是16。默认情况下,Commons的最大基本类型是double,需要8个字节,因此Commons与8对齐。字符数组C2占用9字节,因此整个公共体应该占用9字节,但根据对齐原则,实际分配给它的内存是16字节。Struct:Struct数据与8字节对齐,long类型的成员1分配8字节。s、 I、C和a最初分别占用4、2、1和10字节。考虑到对齐方式,s分配4个字节,I分配2个字节,C分配2个字节。此时,8个字节刚刚用完。最初分配了10个字节。考虑到对齐,整个结构占用的存储空间是8的倍数,因此分配了16个字节。因此,结构数据占用84216=32字节。 c语言共同体定义与使用
c语言中union类型
union成员有谁
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。