当前位置:首页
开发技术指南» 文章正文
    引言:
 

 

 ·两个小问题,    »显示摘要«
    摘要: 1、如何将程序放在右下脚的启动栏中 2、运行程序而不在任务栏出现窗口 ......
 ·关于指针值传递问题    »显示摘要«
    摘要: 再问一个问题,对于子函数中的指针的值传递要怎么理解啊! 好象子函数如果要给主函数传递变量,好象只能通过指针,变量好象不能完成值传递! ......


有关struct字节数的问题

这样的结构占几个字节?  
  struct   Test  
  {  
          unsigned   char   a;  
          unsigned   long   c;  
  }   test;  
  unsigned   long   len   =   0;  
  len   =   sizeof(unsigned   char);  
  len   =   sizeof(unsigned   long);  
  len   =   sizeof(test);   //len   =   8  
  void*   p   =   &test;  
  memset(p,0,5);   //发现unsigned   long   c只被初始化一个字节  
   
  我在windows2k下VC60单步调试发现  
  sizeof(test)   =   8  
  且多出来的字节是在a和c之间  
   
  请问是什么原因???

NO.1   作者: leizhengdeng

4字节对齐

NO.2   作者: qxp

现在的系统基本上都是4字节对其的;  
  所以是8;  
  struct   t   {  
  char   a;  
  long   b;  
  char   c;  
  }  
  是   12个字节  
   
   
 

NO.3   作者: masterdog

呵呵!VC下只需要改动:Project/Setting中的C/C++下的CodeGeneration   Category中:Struct   member   alignment   为   1Byte即可


    摘要: 如何让trichedit的滚动条滚到指定的文字所在的行? ......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE