C/C++³ÌÐòÖнṹÌå×Ö½ÚÁ÷µÄÍøÂç´«Êä
¾³£ÐèÒªÔÚ³ÌÐòÖн«Ô¶³Ì´«À´µÄ×Ö½ÚÁ÷½øÐнṹ»¯£¬»òÕß½«½á¹¹»¯µÄÊý¾Ý±ä³É×Ö½ÚÁ÷´«¸øÔ¶³ÌÖ÷»ú¡£ÔÚC/C++³ÌÐòÖУ¬½á¹¹»¯Êý¾Ýͨ³£ÓýṹÌåÀ´×éÖ¯£¬½á¹¹ÌåÒ²Äܹ»·½±ãµÄת»»Îª×Ö½ÚÁ÷£¬Òò´Ë½á¹¹»¯µÄÊý¾Ý´«Êä±¾²»¸Ã³ÉΪÎÊÌ⣬µ«ÔÚVC»òGCCµÄĬÈÏÉèÖÃϱàÒë³öµÄ³ÌÐò£¬È´ÓÐÒ»¸öÖµµÃ×¢ÒâµÄÎÊÌâ——½á¹¹ÌåµÄ¶ÔÆë¡£ ½á¹¹ÌåµÄ¶ÔÆëÊDZàÒëÆ÷Ϊ¼Ó¿ì³ÌÐòÔËÐУ¬ÔڽṹÌåÖÐÌîÈëһЩ¿Õ°××Ö½Ú£¬ÊǵĽṹÌå³ÉÔ±°´Ò»¶¨¹æÔò¶ÔÆë¡£
ÀýÈç½á¹¹£º
struct MyStruct
{
char a;
int b;
};
°´Ò»°ã¼ÆËãÆäÀàÏ´¹ýÄÇ´óСӦΪ5¸ö×Ö½Ú£¬µ«ÔÚÉÏÊö±àÒëÆ÷ĬÈÏÉèÖÃÏ£¬Ê¹ÓÃsizeof¼ÆËã³öµÄ½á¹¹ÌåÀàÐÍ´óСΪ8¸ö×Ö½Ú£¬ÒòΪ±àÒëÆ÷ÔڸýṹµÄµÚÒ»¸ö³ÉÔ±ºóÌîÈëÁË3¸ö×Ö½ÚÀ´±£³Ö³ÉÔ±µÄ¶ÔÆë¡£ÕâÑù£¬ÔÚÐòÁл¯×Ö½ÚÁ÷µÄʱºò¾Í²úÉúÁËÎÊÌ⣬¸Ã½á¹¹ÀàÐ͵ıäÁ¿Ö¸ÕëÖ±½Óת»¯³Échar *»òÕßʹÓÃmemcpyµÃ³öµÄ×Ö½ÚÁ÷¼´Îª8¸ö×Ö½Ú¶ø·Ç5¸ö×Ö½Ú¡£Ò»°ãÇé¿öÏ£¬´«Êä¹æÔ¼Ö»¶¨ÒåÓÐЧ×Ö½Ú£¬Òò¶øÉÏÊö·½Ê½²úÉúµÄ×Ö½ÚÁ÷ÖÐ3¸ö×Ö½Ú½«²»ÔÚ¹æÔ¼Öж¨Ò壬Òò´ËÔ¶³ÌÖ÷»úÔÚ½âÎöµÄʱºò»á²úÉúÎó½â£¬µ±È»³ý·ÇÔ¶³Ì½âÎö³ÌÐò²ÉÓÃͬÑùµÄÐòÁл¯·½Ê½ºÍͬÑùµÄ½á¹¹¶ÔÆëÉèÖ㬶øÕâÔÚijЩÇé¿öÏÂÄÑÒÔ±£Ö¤¡£ËùÒÔ£¬ÔڽṹµÄÐòÁл¯¹ý³ÌÖУ¬±ØÐë½ö´¦ÀíÓÐЧ×Ö½Ú£¬Ê¹µÃ×Ö½ÚÁ÷·ûºÏ¹æÔ¼¶¨Òå¡£
¶àÓà×ֽڵIJúÉúÔÒòÔÚÓÚ±àÒëÆ÷¶Ô½á¹¹Ìå³ÉÔ±¶ÔÆë×Ö½ÚÊýµÄÉèÖõIJ»Í¬£¬VCºÍGCC(MinGW)µÄĬÈÏÉèÖÃΪ8×Ö½Ú¶ÔÆë£¬ËùÒÔÐèÒª¸Ä±äÆäĬÈÏµÄ¶ÔÆë×Ö½ÚÊýΪ°´µ¥×Ö½Ú¶ÔÆë£¬¼´¿ÉÒÔ½â¾öÉÏÊöÎÊÌâ¡£¾ßÌå·½·¨ÊÇÔÚ´úÂëÍ·ÖмÓÈë:
#pragma pack(1)¼´¿É¡£
´ËºóʹÓÃsizeof¼ÆËã³öµÄ½á¹¹Ìå´óС¼´Îª¸÷³ÉÔ±´óСµÄ×ܺ͡£ÕâÔÚ°´¼È¶¨¹æÔ¼±àÐ´ÍøÂç¶þ½øÖÆÊý¾Ý´«Êä³ÌÐòʱÐèҪעÒâ¡£
Ïà¹ØÎĵµ£º
¶ÑºÍÕ»µÄÇø±ð
Ò»¡¢Ô¤±¸ÖªÊ¶—³ÌÐòµÄÄÚ´æ·ÖÅä
Ò»¸öÓÉc/C++±àÒëµÄ³ÌÐòÕ¼ÓõÄÄÚ´æ·ÖΪÒÔϼ¸¸ö²¿·Ö
1¡¢Õ»Çø£¨stack£©— ÓɱàÒëÆ÷×Ô¶¯·ÖÅäÊÍ·Å £¬´æ·Åº¯ÊýµÄ²ÎÊýÖµ£¬¾Ö²¿±äÁ¿µÄÖµµÈ¡£Æä²Ù×÷·½Ê½ÀàËÆÓÚÊý¾Ý½á¹¹ÖеÄÕ»¡£
2¡¢¶ÑÇø£¨heap£©— Ò»°ãÓɳÌÐòÔ±·ÖÅäÊÍ·Å£¬ Èô³ÌÐòÔ±²»ÊÍ·Å£¬³ÌÐò½áÊøÊ±¿ÉÄÜÓÉOS»ØÊÕ ¡£ ......
1.ÇóÏÂÃæº¯ÊýµÄ·µ»ØÖµ£¨Î¢Èí£©
int func(x)
{
int countx = 0;
while(x)
{
countx ++;
x = x&(x-1);
&n ......
ÏÖÔÚѧ±à³ÌÁË£¬×îÏÈѧµÄÊÇCÓïÑÔ£¬£¬Ï£Íû¾¹ýŬÁ¦£¬×Ô¼ºÒ²ÄÜÏñÆäËûµÄÈËÒ»Ñù£¬³ÉΪһ¸öÓÅÐãµÄC³ÌÐòÔ±£¬£¬¾ÍÔÚCSDN£¬¼Ç¼ÏÂÎÒµÄC³ÌÐòÔ±³É³¤¹ý³Ì¡£
Ìý±ðÈË˵£¬Ñ§ÓïÑÔ×îºÃµÄ;¾¶¾ÍÊǶàд´úÂ룬ϣÍûÎÒÔÚÕâÒ»·½ÃæÄÜ×öµÄ±È½ÏºÃ£¬»¹ÓоÍÊÇÅàÑøÁ¼ºÃµÄ±à³Ì·ç¸ñºÍÍŶӾ«Éñ¡£ÔÚCSDN£¬ÓкܶàµÄÁ¼Ê¦ÒæÓÑ£¬ÓÐËûÃÇ£¬ÏàÐÅÎÒÒ»¶ ......
bcmp
ÔÐÍ£ºextern int bcmp(const void *s1, const void *s2, int n);
Ó÷¨£º#include <string.h>
¹¦ÄÜ£º±È½Ï×Ö·û´®s1ºÍs2µÄǰn¸ö×Ö½ÚÊÇ·ñÏàµÈ
˵Ã÷£ºÈç¹ûs1=s2»òn=0Ôò·µ»ØÁ㣬·ñÔò·µ»Ø·ÇÁãÖµ¡£bcmp²»¼ì²éNULL¡£
bcopy
ÔÐÍ£ºextern void bcopy(const void *src, void *dest, int n);
Ó÷ ......