社区
C#
帖子详情
c语言中结构中有数组如何转化为c#表达?
xudu
2004-05-03 03:33:20
如:
typedef struct tagJPEGDQT_16BITS
{
WORD segmentTag; //DQT段标记,必须为0xFFDB
WORD length; //段长度,这里是0x8300
BYTE tableInfo; //量化表信息
WORD table[64]; //量化表(16 bits)<-怎么办?
}JPEGDQT_16BITS;
...全文
92
8
打赏
收藏
c语言中结构中有数组如何转化为c#表达?
如: typedef struct tagJPEGDQT_16BITS { WORD segmentTag; //DQT段标记,必须为0xFFDB WORD length; //段长度,这里是0x8300 BYTE tableInfo; //量化表信息 WORD table[64]; //量化表(16 bits)<-怎么办? }JPEGDQT_16BITS;
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xudu
2004-05-10
打赏
举报
回复
谢谢大家热心,我已经自己从msdn找到了该方法。同样还有字节对齐问题(Pack=1),但我还是感谢turnmissile(会翻跟头的导弹)等热心人。
实际上这是我一系列问题中的一个,也是有关结构的问题,怎么把上述结构变量写入文件,一般情况是写byte[],但C#和C++,C/C++中使用文件读写,一般*buffer,我只要取&结构变量地址即可,但C#不同,结构变量是值类型,而数组是引用类型,怎么转化。我现在是参考zdnet上的一片文章,即利用Marshal.PtrToStructure和Marshal.StructureToPtr
来转换结构变量和byte[],但这是一个深拷贝操作,对性能还是要造成一定影响,大家有没有其他方法?
sandsboy
2004-05-07
打赏
举报
回复
public struct JPEGDQT_16BITS
{
ushort segmentTag; //DQT段标记,必须为0xFFDB
ushort length; //段长度,这里是0x8300
byte tableInfo; //量化表信息
ushort table[64]; //量化表(16 bits)<-怎么办?
}
vzxq
2004-05-07
打赏
举报
回复
关注,学习。UP
Brunhild
2004-05-07
打赏
举报
回复
同意turnmissile(会翻跟头的导弹)
turnmissile
2004-05-07
打赏
举报
回复
[ StructLayout( LayoutKind.Sequential )]
typedef struct tagJPEGDQT_16BITS
{
WORD segmentTag; //DQT段标记,必须为0xFFDB
WORD length; //段长度,这里是0x8300
BYTE tableInfo; //量化表信息
[ MarshalAs( UnmanagedType.ByValArray, SizeConst=64 )]
WORD[] table; //量化表(16 bits)<-怎么办?
}JPEGDQT_16BITS;
Brunhild
2004-05-07
打赏
举报
回复
to:sandsboy(沙滩男孩)
你实际上是在结构中定义一个指针,而turnmissile(会翻跟头的导弹),是定义一个可以容纳64个WORD的区域。我想楼主需要的应该是后者
popohei
2004-05-04
打赏
举报
回复
C#中的结构是非引用的类
struct tagJPEGDQT_16BITS
{
WORD segmentTag; //DQT段标记,必须为0xFFDB
WORD length; //段长度,这里是0x8300
BYTE tableInfo; //量化表信息
WORD table[64]; //量化表(16 bits)<-怎么办?
};
xudu
2004-05-04
打赏
举报
回复
关键是C#中没用静态数组,
sizeof(结构名)是否等于各字段长度和,还是要附加一些类信息
C语言
入门基础知识+经典源码案例
C语言
具有以下特点:简洁、紧凑、灵活:
C语言
只有几十个关键词和几十种语句,且没有严格的语法限制,程序员可以根据需要自由发挥。
表达
能力强:
C语言
可以方便地表示数据
结构
,如
数组
、链表、队列、栈等,并且可以很方便地进行面向过程的程序设计。高效率:
C语言
直接访问内存,以二进制方式进行操作,具有很高的运行效率。可移植性好:
C语言
编写的程序具有很好的可移植性,可以在不同的操作系统和计算机上运行。丰富的函数库:
C语言
拥有大量的函数库,如标准库、数学库、图形库等,方便程序员进行各种开发工作。
一文彻底搞懂数据
结构
(写出初学者的干货)
数据
结构
是计算机专业的基础课程,是所有程序员的必修课。如果把编程语言比作程序员的剑法招式,那么数据
结构
就是程序员的内功心法。不懂数据
结构
就是写代码的农民,了解数据
结构
才能成为行业专家。这些问题的答案,在我原创的这篇文章
中
都能找到。在这篇文章
中
,我不会深入讲解数据
结构
中
的某个知识点,而是要揭开数据
结构
的面纱,让大家从整体上对数据
结构
有一个清晰的认知,致力于帮助读者快速入门数据
结构
。数据
结构
与算法教程,数据
结构
C语言
版教程!
编程基础:Java、
C#
和 Python 入门(一)
基本上,编程是告诉数字设备,比如你的个人电脑,做什么的行为。我们键入由编程语言定义的命令列表,以便发生有用或有趣的事件。正确编程的计算机运行着世界上大部分的通信和在线服务。你可以提到像自动取款机、票阅读器和智能手机这样的小玩意,它们运行在某人用某种编程语言开发的软件上。
C提高~
C语言
与内存
C语言
与内存 计算机程序运行的目的 什么是程序? 最直观的
表达
:程序 = 数据 + 算法。对于计算机而言,一个程序就是一堆代码加一堆数据。代码告诉CPU如何加工数据,而数据则是被加工的对象。如,写一个加法程序,对于计算机来说,代码告诉CPU是执行加法,数据就是加数和被加数。将加法运算的 过程封装成一个函数,即便不封装成一个子函数,它也是在主函数(main)里,
C语言
程序就是有一个个函
数组
成而...
结构
体的定义与访问(定义普通变量、指针、
数组
)
结构
体定义普通变量、指针及其元素如何进行访问,
结构
体定义
数组
,
结构
体如何进行函数传参,
结构
体作为其它
结构
体成员。
C#
111,098
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章