当前位置:编程学习 > C#/ASP.NET >>

强制类型转换的问题

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
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,