ÉèΪÊ×Ò³ ¼ÓÈëÊÕ²Ø

TOP

c/c++¾­µäÃæÊÔÌâ(Ò»)
2014-11-24 01:23:07 ¡¾´ó ÖРС¡¿ ä¯ÀÀ:249´Î
Tags£ºc/c ¾­µä ÊÔÌâ

ÃæÊÔÌâ1£º±äÁ¿µÄÉùÃ÷ºÍ¶¨ÒåÓÐʲôÇø±ð
Ϊ±äÁ¿·ÖÅäµØÖ·ºÍ´æ´¢¿Õ¼äµÄ³ÆΪ¶¨Ò壬²»·ÖÅäµØÖ·µÄ³ÆΪÉùÃ÷¡£Ò»¸ö±äÁ¿¿ÉÒÔÔÚ¶à¸öµØ·½ÉùÃ÷£¬µ«ÊÇÖ»ÔÚÒ»¸öµØ·½¶¨Òå¡£¼ÓÈëexternÐÞÊεÄÊDZäÁ¿µÄÉùÃ÷£¬ËµÃ÷´Ë±äÁ¿½«ÔÚÎļþÒÔÍâ»òÔÚÎļþºóÃ沿·Ö¶¨Òå¡£
˵Ã÷£ººÜ¶àʱºòÒ»¸ö±äÁ¿£¬Ö»ÊÇÉùÃ÷²»·ÖÅäÄÚ´æ¿Õ¼ä£¬Ö±µ½¾ßÌåʹÓÃʱ²Å³õʼ»¯£¬·ÖÅäÄÚ´æ¿Õ¼ä£¬ÈçÍⲿ±äÁ¿¡£
ÃæÊÔÌâ2£ºÐ´³öbool ¡¢int¡¢ float¡¢Ö¸Õë±äÁ¿Óë¡°ÁãÖµ¡±±È½ÏµÄifÓï¾ä
boolÐÍÊý¾Ý£º if( flag ) { A; } else { B£» }
intÐÍÊý¾Ý£º if( 0 != flag ) { A; } else { B£» }
Ö¸ÕëÐÍÊý£º if( NULL == flag ) { A; } else { B£» }
floatÐÍÊý¾Ý£º if ( ( flag >= NORM ) && ( flag <= NORM ) ) { A£»
2
}
×¢Ò⣺ӦÌرð×¢ÒâÔÚint¡¢Ö¸ÕëÐͱäÁ¿ºÍ¡°ÁãÖµ¡±±È½ÏµÄʱºò£¬°Ñ¡°ÁãÖµ¡±·ÅÔÚ×ó±ß£¬ÕâÑùµ±°Ñ¡°==¡±Îóд³É¡°=¡±Ê±£¬±àÒëÆ÷¿ÉÒÔ±¨´í£¬·ñÔòÕâÖÖÂß¼­´íÎó²»ÈÝÒ×·¢ÏÖ£¬²¢ÇÒ¿ÉÄܵ¼ÖºÜÑÏÖصĺó¹û¡£
ÃæÊÔÌâ3£ºsizeofºÍstrlenµÄÇø±ð
sizeofºÍstrlenÓÐÒÔÏÂÇø±ð£º
sizeofÊÇÒ»¸ö²Ù×÷·û£¬strlenÊǿ⺯Êý¡£
sizeofµÄ²ÎÊý¿ÉÒÔÊÇÊý¾ÝµÄÀàÐÍ£¬Ò²¿ÉÒÔÊDZäÁ¿£¬¶østrlenÖ»ÄÜÒÔ½áβΪ¡®\0¡®µÄ×Ö·û´®×÷²ÎÊý¡£
±àÒëÆ÷ÔÚ±àÒëʱ¾Í¼ÆËã³öÁËsizeofµÄ½á¹û¡£¶østrlenº¯Êý±ØÐëÔÚÔËÐÐʱ²ÅÄܼÆËã³öÀ´¡£²¢ÇÒsizeof¼ÆËãµÄÊÇÊý¾ÝÀàÐÍÕ¼ÄÚ´æµÄ´óС£¬¶østrlen¼ÆËãµÄÊÇ×Ö·û´®Êµ¼ÊµÄ³¤¶È¡£
Êý×é×ösizeofµÄ²ÎÊý²»ÍË»¯£¬´«µÝ¸østrlen¾ÍÍË»¯ÎªÖ¸ÕëÁË¡£
×¢Ò⣺ÓÐЩÊDzÙ×÷·û¿´ÆðÀ´ÏñÊǺ¯Êý£¬¶øÓÐЩº¯ÊýÃû¿´ÆðÀ´ÓÖÏñ²Ù×÷·û£¬ÕâÀàÈÝÒ×»ìÏýµÄÃû³ÆÒ»¶¨Òª¼ÓÒÔÇø·Ö£¬·ñÔòÓöµ½Êý×éÃûÕâÀàÌØÊâÊý¾ÝÀàÐÍ×÷²ÎÊýʱ¾ÍºÜÈÝÒ׳ö´í¡£×îÈÝÒ×»ìÏýΪº¯ÊýµÄ²Ù×÷·û¾ÍÊÇsizeof¡£
ÃæÊÔÌâ4£ºCÓïÑԵĹؼü×Ö static ºÍ C++ µÄ¹Ø¼ü×Ö static ÓÐʲôÇø±ð
ÔÚCÖÐstaticÓÃÀ´ÐÞÊξֲ¿¾²Ì¬±äÁ¿ºÍÍⲿ¾²Ì¬±äÁ¿¡¢º¯Êý¡£¶øC++ÖгýÁËÉÏÊö¹¦ÄÜÍ⣬»¹ÓÃÀ´¶¨ÒåÀàµÄ³ÉÔ±±äÁ¿ºÍº¯Êý¡£¼´¾²Ì¬³ÉÔ±ºÍ¾²Ì¬³ÉÔ±º¯Êý¡£
×¢Ò⣺±à³ÌʱstaticµÄ¼ÇÒäÐÔ£¬ºÍÈ«¾ÖÐÔµÄÌصã¿ÉÒÔÈÃÔÚ²»Í¬Ê±ÆÚµ÷Óõĺ¯Êý½øÐÐͨÐÅ£¬´«µÝÐÅÏ¢£¬¶øC++µÄ¾²Ì¬³ÉÔ±Ôò¿ÉÒÔÔÚ¶à¸ö¶ÔÏóʵÀý¼ä½øÐÐͨÐÅ£¬´«µÝÐÅÏ¢¡£
ÃæÊÔÌâ5£º£ÃÖеÄmallocºÍ£Ã£«£«ÖеÄnewÓÐʲôÇø±ð
mallocºÍnewÓÐÒÔϲ»Í¬£º
£¨1£©new¡¢delete ÊDzÙ×÷·û£¬¿ÉÒÔÖØÔØ£¬Ö»ÄÜÔÚC++ÖÐʹÓá£
£¨2£©malloc¡¢freeÊǺ¯Êý£¬¿ÉÒÔ¸²¸Ç£¬C¡¢C++Öж¼¿ÉÒÔʹÓá£
£¨3£©new ¿ÉÒÔµ÷ÓöÔÏóµÄ¹¹Ô캯Êý£¬¶ÔÓ¦µÄdeleteµ÷ÓÃÏàÓ¦µÄÎö¹¹º¯Êý¡£
£¨4£©malloc½ö½ö·ÖÅäÄڴ棬free½ö½ö»ØÊÕÄڴ棬²¢²»Ö´Ðй¹ÔìºÍÎö¹¹º¯Êý
£¨5£©new¡¢delete·µ»ØµÄÊÇijÖÖÊý¾ÝÀàÐÍÖ¸Õ룬malloc¡¢free·µ»ØµÄÊÇvoidÖ¸Õë¡£
×¢Ò⣺mallocÉêÇëµÄÄÚ´æ¿Õ¼äÒªÓÃfreeÊÍ·Å£¬¶ønewÉêÇëµÄÄÚ´æ¿Õ¼äÒªÓÃdeleteÊÍ·Å£¬²»Òª»ìÓá£ÒòΪÁ½ÕßʵÏֵĻúÀí²»Í¬¡£
ÃæÊÔÌâ6£ºÐ´Ò»¸ö¡°±ê×¼¡±ºêMIN #define min(a,b)((a)<=(b) (a):(b))
×¢Ò⣺ÔÚµ÷ÓÃʱһ¶¨Òª×¢ÒâÕâ¸öºê¶¨ÒåµÄ¸±×÷Óã¬Èçϵ÷Ó㺠((++*p)<=(x) (++*p):(x)¡£
pÖ¸Õë¾Í×Ô¼ÓÁËÁ½´Î£¬Î¥±³ÁËMINµÄ±¾Òâ¡£
3
ÃæÊÔÌâ7£ºÒ»¸öÖ¸Õë¿ÉÒÔÊÇvolatileÂð
¿ÉÒÔ£¬ÒòΪָÕëºÍÆÕͨ±äÁ¿Ò»Ñù£¬ÓÐʱҲÓб仯³ÌÐòµÄ²»¿É¿ØÐÔ¡£³£¼ûÀý£º×ÓÖжϷþÎñ×Ó³ÌÐòÐÞ¸ÄÒ»¸öÖ¸ÏòÒ»¸öbufferµÄÖ¸Õëʱ£¬±ØÐëÓÃvolatileÀ´ÐÞÊÎÕâ¸öÖ¸Õë¡£
˵Ã÷£ºÖ¸ÕëÊÇÒ»ÖÖÆÕͨµÄ±äÁ¿£¬´Ó·ÃÎÊÉÏûÓÐʲô²»Í¬ÓÚÆäËû±äÁ¿µÄÌØÐÔ¡£Æä±£´æµÄÊýÖµÊǸöÕûÐÍÊý¾Ý£¬ºÍÕûÐͱäÁ¿²»Í¬µÄÊÇ£¬Õâ¸öÕûÐÍÊý¾ÝÖ¸ÏòµÄÊÇÒ»¶ÎÄÚ´æµØÖ·¡£
ÃæÊÔÌâ8£ºaºÍ&aÓÐʲôÇø±ð
Çëд³öÒÔÏ´úÂëµÄ´òÓ¡½á¹û£¬Ö÷ҪĿµÄÊÇ¿¼²ìaºÍ&aµÄÇø±ð¡£ #include void main( void ) { int a[5]={1,2,3,4,5}; int *ptr=(int *)(&a+1); printf(¡°%d,%d¡±,*(a+1),*(ptr-1)); return; }
Êä³ö½á¹û£º2£¬5¡£
×¢Ò⣺Êý×éÃûa¿ÉÒÔ×÷Êý×éµÄÊ×µØÖ·£¬¶ø&aÊÇÊý×éµÄÖ¸Õ롣˼¿¼£¬½«Ô­Ê½µÄint *ptr=(int *)(&a+1);¸ÄΪint *ptr=(int *)(a+1);ʱÊä³ö½á¹û½«ÊÇʲôÄØ£¿
ÃæÊÔÌâ9£º¼òÊöC¡¢C++³ÌÐò±àÒëµÄÄÚ´æ·ÖÅäÇé¿ö
C¡¢C++ÖÐÄÚ´æ·ÖÅ䷽ʽ¿ÉÒÔ·ÖΪÈýÖÖ£º
£¨1£©´Ó¾²Ì¬´æ´¢ÇøÓò·ÖÅ䣺
ÄÚ´æÔÚ³ÌÐò±àÒëʱ¾ÍÒѾ­·ÖÅäºÃ£¬Õâ¿éÄÚ´æÔÚ³ÌÐòµÄÕû¸öÔËÐÐÆڼ䶼´æÔÚ¡£Ëٶȿ졢²»ÈÝÒ׳ö´í£¬ÒòΪÓÐϵͳ»áÉƺó¡£ÀýÈçÈ«¾Ö±äÁ¿£¬static±äÁ¿µÈ¡£
£¨2£©ÔÚÕ»ÉÏ·ÖÅ䣺
ÔÚÖ´Ðк¯Êýʱ£¬º¯ÊýÄÚ¾Ö²¿±äÁ¿µÄ´æ´¢µ¥Ôª¶¼ÔÚÕ»ÉÏ´´½¨£¬º¯ÊýÖ´ÐнáÊøʱÕâЩ´æ´¢µ¥Ôª×Ô¶¯±»ÊÍ·Å¡£Õ»ÄÚ´æ·ÖÅäÔËËãÄÚÖÃÓÚ´¦ÀíÆ÷µÄÖ¸ÁÖУ¬Ð§Âʺܸߣ¬µ«ÊÇ·ÖÅäµÄÄÚ´æÈÝÁ¿ÓÐÏÞ¡£
£¨3£©´Ó¶ÑÉÏ·ÖÅ䣺
¼´¶¯Ì¬ÄÚ´æ·ÖÅä¡£³ÌÐòÔÚÔËÐеÄʱºòÓÃmalloc»ònewÉêÇëÈÎÒâ´óСµÄÄڴ棬³ÌÐòÔ±×Ô¼º¸ºÔðÔÚºÎʱÓÃfree»òdeleteÊÍ·ÅÄÚ´æ¡£¶¯Ì¬ÄÚ´æµÄÉú´æÆÚÓɳÌÐòÔ±¾ö¶¨£¬Ê¹Ó÷dz£Áé»î¡£Èç¹ûÔÚ¶ÑÉÏ·ÖÅäÁ˿ռ䣬¾ÍÓÐÔðÈλØÊÕËü£¬·ñÔòÔËÐеijÌÐò»á³öÏÖÄÚ´æй©£¬ÁíÍâƵ·±µØ·ÖÅäºÍÊͷŲ»Í¬´óСµÄ¶Ñ¿Õ¼ä½«»á²úÉú¶ÑÄÚËé¿é¡£
Ò»¸öC¡¢C++³ÌÐò±àÒëʱÄÚ´æ·ÖΪ5´ó´æ´¢Çø£º¶ÑÇø¡¢Õ»Çø¡¢È«¾ÖÇø¡¢ÎÄ×Ö³£Á¿Çø¡¢³ÌÐò´úÂëÇø¡£
4
ÃæÊÔÌâ10£º¼òÊöstrcpy¡¢sprintfÓëmemcpyµÄÇø±ð
ÈýÕßÖ÷ÒªÓÐÒÔϲ»Í¬Ö®´¦£º
£¨1£©²Ù×÷¶ÔÏó²»Í¬£¬strcpyµÄÁ½¸ö²Ù×÷¶ÔÏó¾ùΪ×Ö·û´®£¬sprintfµÄ²Ù×÷Ô´¶ÔÏó¿ÉÒÔÊǶàÖÖÊý¾ÝÀàÐÍ£¬Ä¿µÄ²Ù×÷¶ÔÏóÊÇ×Ö·û´®£¬memcpy µÄÁ½¸ö¶ÔÏó¾ÍÊÇÁ½¸öÈÎÒâ¿É²Ù×÷µÄÄÚ´æµØÖ·£¬²¢²»ÏÞÓÚºÎÖÖÊý¾ÝÀàÐÍ¡£
£¨2£©Ö´ÐÐЧÂʲ»Í¬£¬memcpy×î¸ß£¬strcpy´ÎÖ®£¬sprintfµÄЧÂÊ×îµÍ¡£
£¨3£©ÊµÏÖ¹¦Äܲ»Í¬£¬strcpyÖ÷ҪʵÏÖ×Ö·û´®±äÁ¿¼äµÄ¿½±´£¬sprintfÖ÷ҪʵÏÖÆäËûÊý¾ÝÀàÐ͸ñʽµ½×Ö·û´®µÄת»¯£¬memcpyÖ÷ÒªÊÇÄÚ´æ¿é¼äµÄ¿½±´¡£
˵Ã÷£ºstrcpy¡¢sprintfÓëmemcpy¶¼¿ÉÒÔʵÏÖ¿½±´µÄ¹¦ÄÜ£¬µ«ÊÇÕë¶ÔµÄ¶ÔÏó²»Í¬£¬¸ù¾Ýʵ¼ÊÐèÇó£¬À´Ñ¡ÔñºÏÊʵĺ¯ÊýʵÏÖ¿½±´¹¦ÄÜ¡£
ÃæÊÔÌâ11£ºÉèÖõØַΪ0x67a9µÄÕûÐͱäÁ¿µÄֵΪ0xaa66 int *ptr; ptr = (int *)0x67a9; *ptr = 0xaa66;
˵Ã÷£ºÕâµÀÌâ¾ÍÊÇÇ¿ÖÆÀàÐÍת»»µÄµäÐÍÀý×Ó£¬ÎÞÂÛÔÚʲôƽ̨µØÖ·³¤¶ÈºÍÕûÐÍÊý¾ÝµÄ³¤¶ÈÊÇÒ»ÑùµÄ£¬¼´Ò»¸öÕûÐÍÊý¾Ý¿ÉÒÔÇ¿ÖÆת»»³ÉµØÖ·Ö¸ÕëÀàÐÍ£¬Ö»ÒªÓÐÒâÒå¼´¿É¡£
ÃæÊÔÌâ12£ºÃæÏò¶ÔÏóµÄÈý´óÌØÕ÷
ÃæÏò¶ÔÏóµÄÈý´óÌØÕ÷ÊÇ·â×°ÐÔ¡¢¼Ì³ÐÐԺͶà̬ÐÔ£º
·â×°ÐÔ£º½«¿Í¹ÛÊÂÎï³éÏó³ÉÀ࣬ÿ¸öÀà¶Ô×ÔÉíµÄÊý¾ÝºÍ·½·¨ÊµÐÐprotection£¨private£¬ protected£¬public£©¡£
¼Ì³ÐÐÔ£º¹ãÒåµÄ¼Ì³ÐÓÐÈýÖÖʵÏÖÐÎʽ£ºÊµÏּ̳У¨Ê¹ÓûùÀàµÄÊôÐԺͷ½·¨¶øÎÞÐè¶îÍâ±àÂëµÄÄÜÁ¦)¡¢¿ÉÊӼ̳Ð(×Ó´°ÌåʹÓø¸´°ÌåµÄÍâ¹ÛºÍʵÏÖ´úÂë)¡¢½Ó¿Ú¼Ì³Ð(½öʹÓÃÊôÐԺͷ½·¨,ʵÏÖÖͺóµ½×ÓÀàʵÏÖ)¡£
¶à̬ÐÔ£ºÊǽ«¸¸Àà¶ÔÏóÉèÖóÉΪºÍÒ»¸ö»ò¸ü¶àËüµÄ×Ó¶ÔÏóÏàµÈµÄ¼¼Êõ¡£ÓÃ×ÓÀà¶ÔÏó¸ø¸¸Àà¶ÔÏó¸³ÖµÖ®ºó£¬¸¸Àà¶ÔÏó¾Í¿ÉÒÔ¸ù¾Ýµ±Ç°¸³Öµ¸øËüµÄ×Ó¶ÔÏóµÄÌØÐÔÒÔ²»Í¬µÄ·½Ê½ÔË×÷¡£
˵Ã÷£ºÃæÏò¶ÔÏóµÄÈý¸öÌØÕ÷ÊÇʵÏÖÃæÏò¶ÔÏó¼¼ÊõµÄ¹Ø¼ü£¬Ã¿Ò»¸öÌØÕ÷µÄÏà¹Ø¼¼Êõ¶¼·Ç³£µÄ¸´ÔÓ£¬³ÌÐòÔ±Ó¦¸Ã¶à¿´¡¢¶àÁ·¡£
ÃæÊÔÌâ13£ºC++µÄ¿ÕÀàÓÐÄÄЩ³ÉÔ±º¯Êý
ȱʡ¹¹Ô캯Êý¡£
ȱʡ¿½±´¹¹Ô캯Êý¡£
ȱʡÎö¹¹º¯Êý¡£
ȱʡ¸³ÖµÔËËã·û¡£
ȱ

Ê×Ò³ ÉÏÒ»Ò³ 1 2 3 ÏÂÒ»Ò³ βҳ 1/3/3
¡¾´ó ÖРС¡¿¡¾´òÓ¡¡¿ ¡¾·±Ìå¡¿¡¾Í¶¸å¡¿¡¾Êղء¿ ¡¾ÍƼö¡¿¡¾¾Ù±¨¡¿¡¾ÆÀÂÛ¡¿ ¡¾¹Ø±Õ¡¿ ¡¾·µ»Ø¶¥²¿¡¿
ÉÏһƪ£ºÔø¾­Óöµ½µÄÒ»¸öcÓïÑÔÃæÊÔÌâ ÏÂһƪ£ºC++±ÊÊÔÃæÊÔÌâ ´ÓÍøÉÏÕûÀíµÄ£¬´ø..

×îÐÂÎÄÕÂ

ÈÈÃÅÎÄÕÂ

Hot ÎÄÕÂ

Python

C ÓïÑÔ

C++»ù´¡

´óÊý¾Ý»ù´¡

linux±à³Ì»ù´¡

C/C++ÃæÊÔÌâÄ¿