C¸´ÔÓÉùÃ÷½âÎö
CÓïÑÔËùÓи´ÔÓµÄÖ¸ÕëÉùÃ÷£¬¶¼ÊÇÓɸ÷ÖÖÉùÃ÷ǶÌ×¹¹³ÉµÄ¡£ÈçºÎ½â¶Á¸´ÔÓÖ¸ÕëÉùÃ÷ÄØ£¿ÓÒ×ó·¨ÔòÊÇÒ»¸ö¼ÈÖøÃûÓÖ³£Óõķ½·¨¡£²»¹ý£¬ÓÒ×ó·¨ÔòÆäʵ²¢²»ÊÇC±ê×¼ÀïÃæµÄÄÚÈÝ£¬ËüÊÇ´ÓC±ê×¼µÄÉùÃ÷¹æ¶¨ÖйéÄɳöÀ´µÄ·½·¨¡£C±ê×¼µÄÉùÃ÷¹æÔò£¬ÊÇÓÃÀ´½â¾öÈçºÎ´´½¨ÉùÃ÷µÄ£¬¶øÓÒ×ó·¨ÔòÊÇÓÃÀ´½â¾öÈçºÎ±çʶһ¸öÉùÃ÷µÄ£¬Á½Õß¿ÉÒÔ˵ÊÇÏà·´µÄ¡£ÓÒ×ó·¨ÔòµÄÓ¢ÎÄÔÎÄÊÇÕâÑù˵µÄ£º
The right-left rule: Start reading the declaration from the innermost parentheses, go right, and then go left. When you encounter parentheses, the direction should be reversed. Once everything in the parentheses has been parsed, jump out of it. Continue till the whole declaration has been parsed.
Õâ¶ÎÓ¢ÎĵķÒëÈçÏ£º
ÓÒ×ó·¨Ôò£ºÊ×ÏÈ´Ó×îÀïÃæµÄÔ²À¨ºÅ¿´Æð£¬È»ºóÍùÓÒ¿´£¬ÔÙÍù×ó¿´¡£Ã¿µ±Óöµ½Ô²À¨ºÅʱ£¬¾ÍÓ¦¸ÃµôתÔĶÁ·½Ïò¡£Ò»µ©½âÎöÍêÔ²À¨ºÅÀïÃæËùÓеĶ«Î÷£¬¾ÍÌø³öÔ²À¨ºÅ¡£Öظ´Õâ¸ö¹ý³ÌÖ±µ½Õû¸öÉùÃ÷½âÎöÍê±Ï¡£
±ÊÕßÒª¶ÔÕâ¸ö·¨Ôò½øÐÐÒ»¸öССµÄÐÞÕý£¬Ó¦¸ÃÊÇ´Ó䶨ÒåµÄ±êʶ·û¿ªÊ¼ÔĶÁ£¬¶ø²»ÊÇ´ÓÀ¨ºÅ¶ÁÆð£¬Ö®ËùÒÔÊÇ䶨ÒåµÄ±êʶ·û£¬ÊÇÒòΪһ¸öÉùÃ÷ÀïÃæ¿ÉÄÜÓжà¸ö±êʶ·û£¬µ«Î´¶¨ÒåµÄ±êʶ·ûÖ»»áÓÐÒ»¸ö¡£
ÏÖÔÚͨ¹ýһЩÀý×ÓÀ´ÌÖÂÛÓÒ×ó·¨ÔòµÄÓ¦Óã¬ÏÈ´Ó×î¼òµ¥µÄ¿ªÊ¼£¬Öð²½¼ÓÉ
int (*func)(int *p);
Ê×ÏÈÕÒµ½ÄǸö䶨ÒåµÄ±êʶ·û£¬¾ÍÊÇfunc£¬ËüµÄÍâÃæÓÐÒ»¶ÔÔ²À¨ºÅ£¬¶øÇÒ×ó±ßÊÇÒ»¸ö*ºÅ£¬Õâ˵Ã÷funcÊÇÒ»¸öÖ¸Õ룬ȻºóÌø³öÕâ¸öÔ²À¨ºÅ£¬ÏÈ¿´Óұߣ¬Ò²ÊÇÒ»¸öÔ²À¨ºÅ£¬Õâ˵Ã÷(*func)ÊÇÒ»¸öº¯Êý£¬¶øfuncÊÇÒ»¸öÖ¸ÏòÕâÀຯÊýµÄÖ¸Õ룬¾ÍÊÇÒ»¸öº¯ÊýÖ¸Õ룬ÕâÀຯÊý¾ßÓÐint*ÀàÐ͵ÄÐβΣ¬·µ»ØÖµÀàÐÍÊÇint¡£
int (*func)(int *p, int (*f)(int*));
func±»Ò»¶ÔÀ¨ºÅ°üº¬£¬ÇÒ×ó±ßÓÐÒ»¸ö*ºÅ£¬ËµÃ÷funcÊÇÒ»¸öÖ¸Õ룬Ìø³öÀ¨ºÅ£¬ÓÒ±ßÒ²ÓиöÀ¨ºÅ£¬ÄÇôfuncÊÇÒ»¸öÖ¸Ïòº¯ÊýµÄÖ¸Õ룬ÕâÀຯÊý¾ßÓÐint *ºÍint (*)(int*)ÕâÑùµÄÐβΣ¬·µ»ØֵΪintÀàÐÍ¡£ÔÙÀ´¿´Ò»¿´funcµÄÐβÎint (*f)(int*)£¬ÀàËÆÇ°ÃæµÄ½âÊÍ£¬fÒ²ÊÇÒ»¸öº¯ÊýÖ¸Õ룬ָÏòµÄº¯Êý¾ßÓÐint*ÀàÐ͵ÄÐβΣ¬·µ»ØֵΪint¡£
int (*func[5])(int *p);
funcÓÒ±ßÊÇÒ»¸ö[]ÔËËã·û£¬ËµÃ÷funcÊÇÒ»¸ö¾ßÓÐ5¸öÔªËصÄÊý×飬funcµÄ×ó±ßÓÐÒ»¸ö*£¬ËµÃ÷funcµÄÔªËØÊÇÖ¸Õ룬ҪעÒâÕâÀïµÄ*²»ÊÇÐÞÊÎfuncµÄ£¬¶øÊÇÐÞÊÎfunc[5]µÄ£¬ÔÒòÊÇ[]ÔËËã·ûÓÅÏȼ¶±È*¸ß£¬funcÏȸú[]½áºÏ£¬Òò´Ë*ÐÞÊεÄÊÇ
Ïà¹ØÎĵµ£º
Visual C++ÖеÄCÔËÐÐʱ¿âdzÎö(lib dll)
Ò»¡¢ÀúÊ·
¡¡¡¡CÔËÐÐʱ¿â¾ÍÊÇC run-time library£¬µ®ÉúÓÚ20ÊÀ¼Í70Äê´ú£¬ÊÇC¶ø·ÇC++ÓïÑÔÊÀ½çµÄ¸ÅÄC³ÌÐòÔËÐÐʱÐèÒªÕâЩ¿âÖеĺ¯Êý¡£
¡¡¡¡CÓïÑÔÊÇËùνµÄ“СÄں˔ÓïÑÔ£¬¾ÍÆäÓïÑÔ±¾ÉíÀ´ËµºÜС£¨²»¶àµÄ¹Ø¼ü×Ö£¬³ÌÐòÁ÷³Ì¿ØÖÆ£¬Êý¾ÝÀàÐ͵ȣ©¡£ËùÒÔ£¬CÓïÑÔÄں˿ª·¢³öÀ´Ö®ºó£¬ ......
C/C++ÕÐƸµÄһЩ¸ÐÊܺ;Ñé[ת]
Ç°¶Îʱ¼ä¸Õ²Î¼ÓÁËn¶à¹«Ë¾µÄC/C++Èí¼þ¹¤³ÌʦµÄÃæÊÔ£¬ÓйúÆó£¬ÍâÆó£¬Ë½Æó£¨moto£¬·É˼¿¨¶û£¬¸ÛÍ壬ÖйúÎÀÐÇXXX£¨Õâ¸öÅ££©£©µÈµÈµÈµÈ¡£¸ÐÊܸÐÏëÆĶ࣬½üÈÕÖÕÓÚ¿ÕÏУ¬Ôڴ˱íÊöһϡ£
±¾ÈË»ù±¾Ìõ¼þ£º3Ä꿪·¢¾Ñ飬2year+ Windows development experence£¬1 ......
1.LinuxÎļþϵͳ
¡¡¡¡Linux
Ö§
³Ö¶àÖÖÎļþϵͳ£¬Èçext¡¢ext2¡¢minix¡¢iso9660¡¢msdos¡¢fat¡¢vfat¡¢nfsµÈ¡£ÔÚÕâЩ¾ßÌåÎļþϵͳµÄÉϲ㣬LinuxÌṩ
ÁËÐéÄâÎļþϵͳ£¨VFS£©À´Í³Ò»ËüÃǵÄÐÐΪ£¬ÐéÄâÎļþϵͳΪ²»Í¬µÄÎļþϵͳÓëÄں˵ÄͨÐÅÌṩÁËÒ»ÖµĽӿڡ£ÏÂͼ¸ø³öÁËLinuxÖÐÎļþϵͳµÄ¹Øϵ£º
¡¡¡¡ÔÚLinuxƽ̨϶ÔÎļþ±à³Ì¿É ......
Ò»¡¢malloc()ºÍfree()µÄ»ù±¾¸ÅÄîÒÔ¼°»ù±¾Ó÷¨
1¡¢º¯ÊýÔÐͼ°ËµÃ÷
void *malloc(long NumBytes)£º¸Ãº¯Êý·ÖÅäÁËNumBytes¸ö×Ö½Ú£¬²¢·µ»ØÁËÖ¸ÏòÕâ¿éÄÚ´æµÄÖ¸Õë¡£Èç¹û·ÖÅäʧ°Ü£¬Ôò·µ»ØÒ»¸ö¿ÕÖ¸Õ루NULL£©¡£ ¹ØÓÚ·ÖÅäʧ°ÜµÄÔÒò£¬Ó¦¸ÃÓжàÖÖ£¬±ÈÈç˵¿Õ¼ä²»×ã¾ÍÊÇÒ»ÖÖ¡£
void free(void *FirstByte)£º ¸Ãº¯ÊýÊǽ«Ö®Ç°ÓÃmalloc· ......