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

C ÓïÑÔÖеÄÖ¸ÕëºÍÄÚ´æÐ¹Â©

http://www.ibm.com/developerworks/cn/aix/library/au-toughgame/index.html
Ó¢ÎÄÔ­ÎÄ

ÒýÑÔ
¶ÔÓÚÈκÎʹÓà C ÓïÑÔµÄÈË£¬Èç¹ûÎÊËûÃÇ C ÓïÑÔµÄ×î´ó·³ÄÕÊÇʲô£¬ÆäÖÐÐí¶àÈË¿ÉÄÜ»á»Ø´ð˵ÊÇÖ¸ÕëºÍÄÚ´æÐ¹Â©
¡£ÕâЩµÄÈ·ÊÇÏûºÄÁË¿ª·¢ÈËÔ±´ó¶àÊýµ÷ÊÔʱ¼äµÄÊÂÏî¡£Ö¸ÕëºÍÄÚ´æÐ¹Â©¶ÔijЩ¿ª·¢ÈËÔ±À´ËµËƺõÁîÈËη¾å£¬µ«ÊÇÒ»µ©ÄúÁ˽âÁËÖ¸Õë¼°Æä¹ØÁªÄÚ´æ²Ù×÷µÄ»ù´¡£¬ËüÃǾÍÊÇÄúÔÚ C ÓïÑÔÖÐÓµÓеÄ×îÇ¿´ó¹¤¾ß¡£
±¾ÎĽ«ÓëÄú·ÖÏí¿ª·¢ÈËÔ±ÔÚ¿ªÊ¼Ê¹ÓÃÖ¸ÕëÀ´±à³ÌǰӦ¸ÃÖªµÀµÄÃØÃÜ¡£±¾ÎÄÄÚÈݰüÀ¨£º

µ¼ÖÂÄÚ´æÆÆ»µµÄÖ¸Õë²Ù×÷ÀàÐÍ
ÔÚʹÓö¯Ì¬ÄÚ´æ·ÖÅäʱ±ØÐ뿼Âǵļì²éµã
µ¼ÖÂÄÚ´æÐ¹Â©µÄ³¡¾°

Èç¹ûÄúÔ¤ÏÈÖªµÀʲôµØ·½¿ÉÄܳö´í£¬ÄÇôÄú¾ÍÄܹ»Ð¡ÐıÜÃâÏÝÚ壬²¢Ïû³ý´ó¶àÊýÓëÖ¸ÕëºÍÄÚ´æÏà¹ØµÄÎÊÌâ¡£

ʲôµØ·½¿ÉÄܳö´í£¿
Óм¸ÖÖÎÊÌⳡ¾°¿ÉÄÜ»á³öÏÖ£¬´Ó¶ø¿ÉÄÜÔÚÍê³ÉÉú³Éºóµ¼ÖÂÎÊÌâ¡£ÔÚ´¦ÀíÖ¸Õëʱ£¬Äú¿ÉÒÔʹÓñ¾ÎÄÖеÄÐÅÏ¢À´±ÜÃâÐí¶àÎÊÌâ¡£
»ØÒ³Ê×
δ³õʼ»¯µÄÄÚ´æ
ÔÚ±¾ÀýÖУ¬p
Òѱ»·ÖÅäÁË 10 ¸ö×Ö½Ú¡£Õâ 10 ¸ö×Ö½Ú¿ÉÄܰüº¬À¬»øÊý¾Ý£¬Èçͼ 1
Ëùʾ¡£
char *p = malloc ( 10 );


ͼ 1. À¬»øÊý¾Ý

Èç¹ûÔÚ¶ÔÕâ¸ö p
¸³ÖµÇ°£¬Ä³¸ö´úÂë¶Î³¢ÊÔ·ÃÎÊËü£¬Ôò¿ÉÄÜ»á»ñµÃÀ¬»øÖµ£¬ÄúµÄ³ÌÐò¿ÉÄܾßÓв»¿ÉÔ¤²âµÄÐÐΪ¡£p
¿ÉÄܾßÓÐÄúµÄ³ÌÐò´ÓÎ´ÔøÔ¤Áϵ½µÄÖµ¡£
Á¼ºÃµÄʵ¼ùÊÇʼÖÕ½áºÏʹÓà memset
ºÍ malloc
£¬»òÕßʹÓà calloc
¡£
char *p = malloc (10);
memset(p,’\0’,10);
ÏÖÔÚ£¬¼´Ê¹Í¬Ò»¸ö´úÂë¶Î³¢ÊÔÔÚ¶Ô p
¸³ÖµÇ°·ÃÎÊËü£¬¸Ã´úÂë¶ÎÒ²ÄÜÕýÈ·´¦Àí Null
Öµ£¨ÔÚÀíÏëÇé¿öÏÂÓ¦¾ßÓеÄÖµ£©£¬È»ºó½«¾ßÓÐÕýÈ·µÄÐÐΪ¡£
»ØÒ³Ê×
Äڴ渲¸Ç
ÓÉÓÚ p
Òѱ»·ÖÅäÁË 10 ¸ö×Ö½Ú£¬Èç¹ûij¸ö´úÂëÆ¬¶Î³¢ÊÔÏò p
дÈëÒ»¸ö 11 ×Ö½ÚµÄÖµ£¬Ôò¸Ã²Ù×÷½«ÔÚ²»¸æËßÄúµÄÇé¿öÏÂ×Ô¶¯´ÓÆäËûij¸öλÖÓ³Ôµô”Ò»¸ö×Ö½Ú¡£ÈÃÎÒÃǼÙÉèÖ¸Õë q
±íʾ¸ÃÄÚ´æ¡£


ͼ 2. ԭʼ q ÄÚÈÝ




ͼ 3. ¸²¸ÇºóµÄ q ÄÚÈÝ

½á¹û£¬Ö¸Õë q
½«¾ßÓдÓδԤÁϵ½µÄÄÚÈÝ¡£¼´Ê¹ÄúµÄÄ£¿é±àÂëµÃ×ã¹»ºÃ£¬Ò²¿ÉÄÜÓÉÓÚij¸ö¹²´æÄ£¿éÖ´ÐÐijЩÄÚ´æ²Ù×÷¶ø¾ßÓв»ÕýÈ·µÄÐÐΪ¡£ÏÂÃæµÄʾÀý´úÂëÆ¬¶ÎÒ²¿ÉÒÔ˵Ã÷ÕâÖÖ³¡¾°¡£
char *name = (char *) malloc(11);
// Assign some value to name
memcpy ( p,name,11); // Problem begins here
ÔÚ±¾ÀýÖУ¬memcpy
²Ù×÷³¢ÊÔ½« 11 ¸ö×Ö½Úдµ½ p
£¬¶øºóÕß½ö±»·ÖÅäÁË 10 ¸ö×Ö½Ú¡£
×÷ΪÁ¼ºÃµÄʵ¼ù£¬Ã¿µ±


Ïà¹ØÎĵµ£º

¸ßÖÊÁ¿ C/C++±à³Ì±Ê¼Ç

¸ßÖÊÁ¿C++±à³Ì Note
¶¨Òå1£ºÄܳ¤ÆÚÎȶ¨µØ±àд³ö¸ßÖÊÁ¿³ÌÐòµÄ³ÌÐòÔ±³ÆÎª±à³ÌÀÏÊÖ¡£
¶¨Òå2£ºÄܳ¤ÆÚÎȶ¨µØ±àд³ö¸ßÄѶȡ¢¸ßÖÊÁ¿³ÌÐòµÄ³ÌÐòÔ±³ÆÎª±à³Ì¸ßÊÖ¡£
°æÈ¨ºÍ°æ±¾µÄÉùÃ÷λÓÚÍ·ÎļþºÍ¶¨ÒåÎļþµÄ¿ªÍ· £¬Ö÷ÒªÄÚÈÝÓУº
£¨1£©°æÈ¨ÐÅÏ¢¡£
£¨2£©ÎļþÃû³Æ£¬±êʶ·û£¬ÕªÒª¡£
£¨3£©µ±Ç°°æ±¾ºÅ£¬×÷Õß/ÐÞ¸ÄÕߣ¬Íê³ÉÈÕÆÚ¡£
......

¡¾×ª¡¿°´¹Ò»ú¼üºó³ÌÐòÍ˵½ºǫ́ÔËÐУ¬°´c¼ü½áÊø³ÌÐò

http://blog.csdn.net/utopia2006/archive/2008/05/30/2495667.aspx
Ä¿µÄ£ºµ±³ÌÐòÔÚǰ̨ÔËÐÐʱ£¬°´¹Ò»ú¼ü³ÌÐò²»Í˳ö£¬Ö»ÊÇÍ˵½ºǫ́ÔËÐУ¬³ÌÐòÔÚºǫ́ÔËÐÐʱ£¬°´c¼üÄܰѳÌÐò½áÊø
·½·¨£ºÔÚHandleWsEventL()ÖÐÆÁ±Î¹Ò»ú¼üKAknUidValueEndKeyCloseEvent,ÔÚÖµÔÚavkon.hrhÖж¨Ò壬ʵ¼ùÖз¢ÏÖ8.0sdkµÄavkon.hrhûÓж¨ÒåKAknUidValu ......

C/C++ÓïÑÔvoid¼°voidÖ¸ÕëÉî²ã̽Ë÷

¡¡1.¸ÅÊö
¡¡¡¡Ðí¶à³õѧÕß¶ÔC/C++ÓïÑÔÖеÄvoid¼°voidÖ¸ÕëÀàÐͲ»ÉõÀí½â£¬Òò´ËÔÚʹÓÃÉϳöÏÖÁËһЩ´íÎó¡£±¾ÎĽ«¶Ôvoid¹Ø¼ü×ÖµÄÉî¿Ìº¬Òå½øÐнâ˵£¬²¢ÏêÊövoid¼°voidÖ¸ÕëÀàÐ͵ÄʹÓ÷½·¨Óë¼¼ÇÉ¡£
¡¡¡¡2.voidµÄº¬Òå
¡¡¡¡voidµÄ×ÖÃæÒâ˼ÊÇ“ÎÞÀàÐÍ”£¬void *ÔòΪ“ÎÞÀàÐÍÖ¸Õ딣¬void *¿ÉÒÔÖ¸ÏòÈκÎÀàÐ͵ÄÊý¾ ......

c programs

void myprintf(const char *format, ...)
{
va_list arglist;
va_start(arglist, format);
vprintf(format, arglist); // or some other operation
va_end(arglist);
}
NAME
       printf, fprintf, sprintf, snprintf, vprintf, vfprintf, vsprintf, vsnprintf - formatt ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ