Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

CºÍC++µÄÄÚ´æ¶ÔÆë²»Ò»ÑùÂð

struct block {
struct block *next;
char *limit;      
char *avail;      
};

union align {
long l;
char *p;
double d;
int (*f)(void);
};

union header {
struct block b;
union align a;
};
void main() {
    int i;
    i=sizeof (union header);
}
½«ÉÏÃæµÄ³ÌÐòÓÃvc6.0ÔËÐÐ,´´½¨Ò»¸ömain.cpp,È»ºóÔËÐнá¹ûÊÇ12,
µ«ÊÇÈç¹û½«main.cpp¸Ä³Émain.c,ÔÙ´ÎÔËÐÐ(»¹ÊÇÓÃvc6.0ÔËÐÐ),½á¹ûÊÇ16.Õâ¸öÊÇÔõô»ØÊÂ?
¿ÉÄܲ»Ò»Ñù£¬¶ÔÆë·½Ê½ÊDZàÒë³ÌÐòµÄÒ»¸ö²ÎÊý

ÍêÈ«ÓпÉÄÜ, ¸÷¸ö±àÒëÆ÷µÄ¶ÔÆë·½Ê½¶¼ÓпÉÄܲ»Í¬, ÉõÖÁ¿ÉÒÔ#pragma pack(n)À´É趨±äÁ¿ÒÔn×Ö½Ú¶ÔÆë·½Ê½

#pragma pack(n)Õâ¸öÓ¦¸ÃÊÇÓÃÀ´ÉèÖÃsturctµÄ°É,¶øÉÏÃæµÄÊÇunion


up

up

ÒýÓÃ
#pragma pack(n)Õâ¸öÓ¦¸ÃÊÇÓÃÀ´ÉèÖÃsturctµÄ°É,¶øÉÏÃæµÄÊÇunion


ÁªºÏÌåÒ»Ñù¿ÉÒÔÓÃÕâ¸öÉèÖã¬ÄÚ´æ¶ÔÆëÁ£¶ÈÒ»°ãĬÈÏÊÇ4×Ö½Ú£¬²»¹ý˵ʵÔÚµÄÎÒûÌý˵CºÍC++µÄÄÚ´æ¶ÔÆëÓÐʲô²î±ð£¬µ«ÓÖ¿´²»³öÎÊÌâµ½µ×³öÔÚÄĶù£¿

¸ù¾ÝÎÒÃÇѧµ½µÄ֪ʶ£¬C/C++µÄÄÚ´æ¶ÔÆë·½Ê½ÊÇÒ»ÑùµÄ°¡¡£Á½ÕßûÓÐ˵²»Í¬°¡£¬Ó¦¸ÃÊDZàÒëÆ÷±¾ÉíµÄÎÊÌâ¡£

VCÖÐĬÈϽṹ°´8×Ö½Ú¶ÔÆë£¬ËùÒÔ½á¹ûÓ¦¸ÃÊÇ16¡£¹À¼ÆÊÇÄãÓÃmain.cppµÄʱºòÐÞ¸ÄÁË¶ÔÆëÉèÖã¬ÄãÔÙÊÔÊÔ¿´¡£

²»Í¬±àÒëÆ÷µÄ¶ÔÆë×Ö½ÚÊý²»Í¬£¬VCĬÈÏΪ8¡£ÖÁÓÚC¡¢C++Ö®¼äµÄ¶ÔÆë£¬Ó¦¸ÃÊÇÏàͬµÄ

ÏÖÔÚÓÖÕýÈ·ÁË,ÕæÊÇ»î


Ïà¹ØÎÊ´ð£º

¸ÕѧC£¬ÓÃCʵÏÖ±àÂë - C/C++ / CÓïÑÔ

#include"stdio.h"
#include"stdlib.h"
void ContrTwo(char i)
{
char str1[8];
itoa(i,str1,2);
printf("%s",str1);
}
unsigned char leftRot(char str,int i);
unsign ......

C/C++ÀïÆÁshift+f10¼üÒªÔõôд£¡ - C/C++ / C++ ÓïÑÔ

SHIFT¼ÓF10ÓëÄǸö¼üÓÒctrl±ßÉϵÄÄǸö¼ü¹¦ÄÜÒ»Ñù£¬ÏëÆÁÕâ¸ö
µ«²»ÖªÒªÔõôдÄǸö×éºÏ¼ü£¡
ÓÐûÄĸö´óÏÀ·ÅÒ»¶ÎÕâ¸öµÄ´úÂë»òдһ¶Î
http://topic.csdn.net/u/20090609/15/7dc9fb70-243f-4070-9cfd-34e48b66e6c6.html ......

C/C++ÖÐÓÐûÓиñʽ»¯UÅ̵ĺ¯Êý - C/C++ / C++ ÓïÑÔ

´ó¼ÒºÃ£º
ÎÒÏëʵÏÖ¼ì²âµ½²åÈëSD¿¨ºó×Ô¶¯½«SD¿¨¸ñʽ»¯µÄ¹¦ÄÜ£¬²»ÖªC/C++ÖÐÓÐûÓиñʽ»¯UÅ̵ĺ¯Êý£¿
ÁíÍ⣬ÎÒ²»ÏëʹÓÃSHFormatDrive£¬ÒòΪÕâ¸öº¯Êý»áµ¯³öÊÇ·ñÒª¸ñʽ»¯µÄÌáʾ¿ò£¬ÎÒÐèÒªµÄÊÇϵͳ×Ô¶¯¸ñʽ»¯£¬¶ø²Ù×÷Õß² ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ