公用体

TMessage = packed record
    Msg: Cardinal;
    case Integer of
      0: (
        WParam: Longint;
        LParam: Longint;
        Result: Longint);
      1: (
        WParamLo: Word;
        WParamHi: Word;
        LParamLo: Word;
        LParamHi: Word;
        ResultLo: Word;
        ResultHi: Word);
  end;
 
 其中case of 语句的作用是类似于 C++ 中的公用体,即几个元素有不同的标示方式,但是占用
的空间是其中最大的元素,而不是全体元素的合。

公用体,布布扣,bubuko.com

时间: 2024-10-27 09:01:08

公用体的相关文章

漫谈C语言结构体struct、公用体union空间占用

先用代码说话: #include<stdio.h> union union_data0{ int a ;//本身占用4个字节 char b ;//本身占用1个字节 int c ; }; union union_data1{ short a;//本身占用2个字节 char b[13];//本身占用13个字节 int c ;//本身占用4个字节 }; struct struct_data{ int a ;//int本身占用4个字节,偏移量为0 char b ;//char本身占用1个字节,偏移量为

结构体,公用体,枚举类型的sizeof

1)枚举类enum型空间计算 enum只是定义了一个常量集合,里面没有“元素”,而枚举类型是当做int来存储的,所以枚举类型的sizeof值都为4 1 enum color(red,pink,white,black)c; 2 void main() 3 { 4 cout<<sizeof(enum); //值为4 5 } 2)公用体union空间计算 公用体中的成员公用同一段内存,所以整个联合体的sizeof是所有成员中占用内存最大的成员的sizeof,联合体要考虑内存对齐,具体规则下面会讲 1

结构体、公用体、枚举

一.结构体类型 1.结构体变量的定义与使用 ? 定义结构体变量的方式 ? 先申明结构体类型再定义变量名 struct stu //stu:结构体类型名 { 成员列表 }; struct stu Lucy; //Lucy:结构体变量名 ? 在声明类型的同时定义变量 struct stu //stu:结构体类型名 { 成员列表 }Lucy,Bob; //Lucy.Bob:结构体变量名 ? 直接定义结构体类型变量(无类型名) struct //无类型名 { 成员列表 }Lucy.Bob; //Lucy

第九章 结构体与公用体

C程序设计实验报告 实验练习: 9.3.1.结构体变量的应用 9.3.2.结构提数组的应用 9.3.3.共用体的应用 9.3.4.结构提指针的应用 姓名:钟俊敏    实验地点:教学楼514教室     实验时间:6月26日 9.3.1.结构体变量的应用 ● 定义结构体类型struct date,它含有年.月.日3个成员:● 定义struct date类型的变量,并从键盘输入初值● 利用循环语句,计算天数● 利用分支语句,判断闰年 9.3.2.结构提数组的应用 ● 定义候选人struct per

第九章结构体与公用体

C程序设计实验报告 实验练习: 9.3.1.结构体变量的应用 9.3.2.结构提数组的应用 9.3.3.共用体的应用 9.3.4.结构提指针的应用 姓名:王治林    实验地点:教学楼514教室     实验时间:6月26日 9.3.1.结构体变量的应用 ● 定义结构体类型struct date,它含有年.月.日3个成员:● 定义struct date类型的变量,并从键盘输入初值● 利用循环语句,计算天数● 利用分支语句,判断闰年 9.3.2.结构提数组的应用 ● 定义候选人struct per

C/C++心得-结构体

先说句题外话,个人认为,基本上所有的高级语言被设计出来的最终目的是降低软件开发难度,提升软件开发人员素质和团队协作能力,降低软件维护的难度.在学习语言的时候,可以从这么方面来推测各种语言语法设计的原因,从来更好的掌握各种编程语言. 总结一下C语言中的数据类型结构: 1.常用基本数据类型(int, char, float, double, short, long等等) 2.数组 3.指针 4.枚举 5.结构体 6.公用体 ... 这其中除了共用体不常用外,其他都是实际开发中经常用到的数据结构.其他

8.1 结构体 共用体 typedef 枚举

typedef :  给类型起一个新的名字 int main() { unsigned int a = 10; } 可以用下面表示: typedef unsigned int u32_t; int main() { u32_t a = 10; } 与definde的区别: typedef char *  N; #define N char* N p1,p2,p3; define的话  p2 p3 变成了char 类型 结构体 :不同类型元素的汇聚 ①匿名结构体 struct{ int id;  

typedef 类型重命名 和 #define 宏定义(1)

http://www.blogjava.net/jasmine214--love/archive/2010/11/29/339307.html 在现实生活中,信息的概念可能是长度,数量和面积等.在C语言中,信息被抽象为int.float和double等基本数据类型.从基本数据类型名称上, 不能够看出其所代表的物理属性,并且int.float和double为系统关键字,不可以修改.为了解决用户自定义数据类型名称的需求,C语言中引入类 型重定义语句typedef,可以为数据类型定义新的类型名称,从而

StructLayout特性

StructLayout特性 StructLayout特性          公共语言运行库利用StructLayoutAttribute控制类或结构的数据字段在托管内存中的物理布局,即类或结构需要按某种方式排列.如果要将类传递给需要指定布局的非托管代码,则显式控制类布局是重要的.它的构造函数中用 LayoutKind值初始化 StructLayoutAttribute 类的新实例. LayoutKind.Sequential 用于强制将成员按其出现的顺序进行顺序布局.   StructLayo