强制类型转换的问题
typedef struct {DWORD wCnt;
WORD dwLog[1];
} TOUKEILOG;
typedef TOUKEILOG* LPTOUKEILOG;
LPTOUKEILOG lpTLogBegin = NULL;
lpTLogBegin = (LPTOUKEILOG)new BYTE[5];
在以后的处理中用到了
lpTLogBegin->dwLog[4]
以上都处理正常,谁能帮我解释下这是为什么.
lpTLogBegin = (LPTOUKEILOG)new BYTE[5]; 这句做了什么?
另外 sizeof(TOUKEILOG)这个应该是多少?我调试出的结果是 8,很不解。
注:我用的是.Net 2008
--------------------编程问答-------------------- lpTLogBegin = (LPTOUKEILOG)new BYTE[5];
动态创建 LPTOUKEILOG类型的指针数组
lpTLogBegin 储存LPTOUKEILOG类型的数组指针
我的理解是这样 还有高见!!
--------------------编程问答-------------------- sizeof会按编译设置对齐,默认是对齐到4的倍数吧。
补充:.NET技术 , VC.NET