C/C++±à³Ì¼¼ÄÜ¡¾ÕûÀí¡¿
Ô¤´¦ÀíÆ÷£¨Preprocessor£©
1. ÓÃÔ¤´¦ÀíÖ¸Áî#define ÉùÃ÷Ò»¸ö³£Êý£¬ÓÃÒÔ±íÃ÷1ÄêÖÐÓжàÉÙÃ루ºöÂÔÈòÄêÎÊÌ⣩
#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL
ÎÒÔÚÕâÏë¿´µ½¼¸¼þÊÂÇ飺
1). #define Óï·¨µÄ»ù±¾ÖªÊ¶£¨ÀýÈ磺²»ÄÜÒԷֺŽáÊø£¬À¨ºÅµÄʹÓ㬵ȵȣ©
2). ¶®µÃÔ¤´¦ÀíÆ÷½«ÎªÄã¼ÆËã³£Êý±í´ïʽµÄÖµ£¬Òò´Ë£¬Ö±½Óд³öÄãÊÇÈçºÎ¼ÆËãÒ»ÄêÖÐÓжàÉÙÃë¶ø²»ÊǼÆËã³öʵ¼ÊµÄÖµ£¬ÊǸüÇåÎú¶øûÓдú¼ÛµÄ¡£
3). Òâʶµ½Õâ¸ö±í´ïʽ½«Ê¹Ò»¸ö16λ»úµÄÕûÐÍÊýÒç³ö-Òò´ËÒªÓõ½³¤ÕûÐÍ·ûºÅL,¸æËß±àÒëÆ÷Õâ¸ö³£ÊýÊǵij¤ÕûÐÍÊý¡£
4). Èç¹ûÄãÔÚÄãµÄ±í´ïʽÖÐÓõ½UL£¨±íʾÎÞ·ûºÅ³¤ÕûÐÍ£©£¬ÄÇôÄãÓÐÁËÒ»¸öºÃµÄÆðµã¡£¼Çס£¬µÚÒ»Ó¡ÏóºÜÖØÒª¡£
****UL¸Ã·Åµ½À¨ºÅÀïÃæ°É£¿
2. дһ¸ö“±ê×¼”ºêMIN£¬Õâ¸öºêÊäÈëÁ½¸ö²ÎÊý²¢·µ»Ø½ÏСµÄÒ»¸ö¡£
#define MIN(A,B) ((A) <= (B) (A) : ))
CC++ÊÔÌ⼯ CC++ DevelopmentÕâ¸ö²âÊÔÊÇΪÏÂÃæµÄÄ¿µÄ¶øÉèµÄ£º
1). ±êʶ#defineÔÚºêÖÐÓ¦ÓõĻù±¾ÖªÊ¶¡£ÕâÊǺÜÖØÒªµÄ£¬ÒòΪֱµ½Ç¶Èë(inline)²Ù×÷·û±äΪ±ê×¼CµÄÒ»²¿·Ö£¬ºêÊÇ·½±ã²úÉúǶÈë´úÂëµÄΨһ·½·¨£¬¶ÔÓÚǶÈëʽϵͳÀ´Ëµ£¬ÎªÁËÄÜ´ïµ½ÒªÇóµÄÐÔÄÜ£¬Ç¶Èë´úÂë¾³£ÊDZØÐëµÄ·½·¨¡£
2). ÈýÖØÌõ¼þ²Ù×÷·ûµÄ֪ʶ¡£Õâ¸ö²Ù×÷·û´æÔÚCÓïÑÔÖеÄÔÒòÊÇËüʹµÃ±àÒëÆ÷ÄܲúÉú±Èif-then-else¸üÓÅ»¯µÄ´úÂ룬Á˽âÕâ¸öÓ÷¨ÊǺÜÖØÒªµÄ¡£
3). ¶®µÃÔÚºêÖÐСÐĵذѲÎÊýÓÃÀ¨ºÅÀ¨ÆðÀ´
4). ÎÒÒ²ÓÃÕâ¸öÎÊÌ⿪ʼÌÖÂÛºêµÄ¸±×÷Óã¬ÀýÈ磺µ±ÄãдÏÂÃæµÄ´úÂëʱ»á·¢ÉúʲôÊ£¿
Least = MIN(*p++, b);
3. Ô¤´¦ÀíÆ÷±êʶ#errorµÄÄ¿µÄÊÇʲô£¿
Èç¹ûÄã²»ÖªµÀ´ð°¸£¬Çë¿´²Î¿¼ÎÄÏ×1¡£ÕâÎÊÌâ¶ÔÇø·ÖÒ»¸öÕý³£µÄ»ï¼ÆºÍÒ»¸öÊé´ô×ÓÊǺÜÓÐÓõġ£Ö»ÓÐÊé´ô×ӲŻá¶ÁCÓïÑԿα¾µÄ¸½Â¼È¥ÕÒ³öÏóÕâÖÖ
ÎÊÌâµÄ´ð°¸¡£µ±È»Èç¹ûÄã²»ÊÇÔÚÕÒÒ»¸öÊé´ô×Ó£¬ÄÇôӦÊÔÕß×îºÃÏ£Íû×Ô¼º²»ÒªÖªµÀ´ð°¸¡£
ËÀÑ»·£¨Infinite loops£©
4. ǶÈëʽϵͳÖо³£ÒªÓõ½ÎÞÏÞÑ»·£¬ÄãÔõôÑùÓÃC±àдËÀÑ»·ÄØ£¿
Õâ¸öÎÊÌâÓü¸¸ö½â¾ö·½°¸¡£ÎÒÊ×Ñ¡µÄ·½°¸ÊÇ£º
while(1) { }
һЩ³ÌÐòÔ±¸üϲ»¶ÈçÏ·½°¸£º
for(;;) { }
Õâ¸öʵÏÖ·½Ê½ÈÃÎÒΪÄÑ£¬ÒòΪÕâ¸öÓ﷨ûÓÐÈ·Çбí´ïµ½µ×Ôõô»ØÊ¡£Èç¹ûÒ»¸öÓ¦ÊÔÕ߸ø³öÕâ¸ö×÷Ϊ·½°¸£¬ÎÒ½«ÓÃÕâ¸ö×÷Ϊһ¸ö»ú»áȥ̽¾¿ËûÃÇÕâÑù×öµÄ
»ù±¾ÔÀí¡£Èç¹ûËûÃǵĻù±¾´ð°¸ÊÇ£º“ÎÒ±»½Ì×ÅÕâÑù×ö£¬µ«´ÓûÓÐÏëµ½¹ýΪʲô¡£”Õâ»á¸øÎÒÁôÏÂÒ»¸ö»µÓ¡Ïó¡£
µÚÈý¸ö·½°¸ÊÇÓà goto
Loop:
…
goto Loop;
Ó¦ÊÔÕß
Ïà¹ØÎĵµ£º
1.ÒýÑÔ
¡¡¡¡C++ÓïÑԵĴ´½¨³õÖÔÊÇ¡°a better C¡±£¬µ«ÊÇÕâ²¢²»Òâζ×ÅC++ÖÐÀàËÆCÓïÑÔµÄÈ«¾Ö±äÁ¿ºÍº¯ÊýËù²ÉÓõıàÒëºÍÁ¬½Ó·½Ê½ÓëCÓïÑÔÍêÈ«Ïàͬ¡£×÷ΪһÖÖÓûÓëC¼æÈݵÄÓïÑÔ£¬C++±£ÁôÁËÒ»²¿·Ö¹ý³ÌʽÓïÑÔµÄÌص㣨±»ÊÀÈ˳ÆΪ¡°²»³¹µ×µØÃæÏò¶ÔÏó¡±£©£¬Òò¶øËü¿ÉÒÔ¶¨Òå²»ÊôÓÚÈκÎÀàµÄÈ«¾Ö±äÁ¿ºÍº¯Êý¡£µ«ÊÇ£¬C++±Ï¾¹ÊÇÒ»ÖÖÃæÏò¶ ......
C/C++±ÊÊÔÌâϵÁÐ
Ô¤´¦ÀíÆ÷£¨Preprocessor£©
1. ÓÃÔ¤´¦ÀíÖ¸Áî#define ÉùÃ÷Ò»¸ö³£Êý£¬ÓÃÒÔ±íÃ÷1ÄêÖÐÓжàÉÙÃ루ºöÂÔÈòÄêÎÊÌ⣩
#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL
ÎÒÔÚÕâÏë¿´µ½¼¸¼þÊÂÇ飺
1). #define Óï·¨µÄ»ù±¾ÖªÊ¶£¨ÀýÈ磺²»ÄÜÒԷֺŽáÊø£¬À¨ºÅµÄʹÓ㬵ȵȣ©
2). ¶®µÃÔ¤´¦ÀíÆ÷½«ÎªÄã¼ÆËã³ ......
ÏÈÓñ´¶ûµÄÒ»µÀ±ÊÊÔÌâ¼òÒªµÄ˵Ã÷һϰɣº
¡¾Ì⡿˵Ã÷ÒÔϳÌÐò¡£
#include
int main(void)
{
unsigned int a[3] = {0x01020304, 0x05060708, 0x090a0b0c};
unsigned int *p = (unsigned int *)((int)a +1);¢Ù
printf("%x\n", *p);
return 0;
}
¡¾ÌâÄ¿½âÎö¡¿
Õâ¶Î³ÌÐòµÄÊä³ö½á¹ûÓ¦ ......
CÖеĿɱä²ÎÊýÑо¿
Ò»£® ºÎν¿É±ä²ÎÊý
int printf(const char* format, ...);
ÕâÊÇʹÓùýCÓïÑÔµÄÈËËùÔÙÊìϤ²»¹ýµÄprintfº¯ÊýÔÐÍ£¬ËüµÄ²ÎÊýÖоÍÓй̶¨²ÎÊýformat ......
1.ÒýÑÔ ¡¡¡¡
±¾ÎĵÄд×÷Ä¿µÄ²¢²»ÔÚÓÚÌṩC/C++³ÌÐòÔ±ÇóÖ°ÃæÊÔÖ¸µ¼£¬¶øÖ¼ÔÚ´Ó¼¼ÊõÉÏ·ÖÎöÃæÊÔÌâµÄÄÚº¡£ÎÄÖеĴó¶àÊýÃæÊÔÌâÀ´×Ô¸÷´óÂÛ̳£¬²¿·ÖÊÔÌâ½â´ðÒ²²Î¿¼ÁËÍøÓѵÄÒâ¼û¡£
Ðí¶àÃæÊÔÌâ¿´ËƼòµ¥£¬È´ÐèÒªÉîºñµÄ»ù±¾¹¦²ÅÄܸø³öÍêÃÀµÄ½â´ð¡£ÆóÒµÒªÇóÃæÊÔ ......