首页 > 其他 > 详细

[StructLayout(LayoutKind.Sequential) ] 是什么意思

时间:2017-03-06 12:08:27      阅读:223      评论:0      收藏:0      [点我收藏+]

首先介绍一下 结构体和类的区别 :类是按引用传递 结构体是按值传递进入正题:结构体是由若干成员组成的.布局有两种
1.Sequential,顺序布局,比如struct S1{int a;int b;}那么默认情况下在内存里是先排a,再排b
也就是如果能取到a的地址,和b的地址,则相差一个int类型的长度,4字节
[StructLayout(LayoutKind.Sequential)]struct S1{int a;int b;}这样和上一个是一样的.因为默认的内存排列就是Sequential,也就是按成员的先后顺序排列.
2.Explicit,精确布局
需要用FieldOffset()设置每个成员的位置
这样就可以实现类似c的公用体的功能

[StructLayout(LayoutKind.Sequential) ] 是什么意思

原文:http://www.cnblogs.com/gyc19920704/p/6508688.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!