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Ïȸú[]½áºÏ£¬Òò´Ë*ÐÞÊεÄÊÇ
Ïà¹ØÎĵµ£º
¼òµ¥µÄº¯Êýµ÷Óã¬Í¨¹ý¼òµ¥µÄº¯Êýµ÷Ó÷´»ã±à¿ÉÒÔÇå³þÁ˽âÈçÏÂ
1.Õ»µ½µ×ÊÇʲô£¬ÈçºÎ²Ù×ÝÕ»µÄ£¿
2.²ÎÊýºÍÁÙʱ±äÁ¿ÊÇÒÔʲôÐÎʽÔÚÄÄ´æ·Å£¿
3.ÈçºÎ´«µÝ·µ»ØÖµ£¿
¾ÙÀý£º
#include <stdio.h>
int add(int a,int b)
{
int c=0;
c=a+b;
  ......
ǰ¼¸Ìì¸ãÒ»¸öÏîÄ¿Éæ¼°µ½C/C++»ìºÏ±à³Ì£¬ÔÚKeilϱàÒëʱÌáʾ£º
error: #800:this declaration may not have extern "C" linkage
error: At end of source : #67:expected a "}"
µ±Ê±Á¢ÂíÏëµ½ÊÇCºÍC++±à³ÌʱÐèÒªextern "C"£¬ÂíÉÏÊÔÁËÊÔ£¬È»ºóÐû¸æÊ§°Ü¡£
ÒòΪ˫»÷ºóÌáʾ³ö´íµÄµØ·½ÊÇtemplate<clase T>,ÒÔΪÊÇkeil²»Ö ......
#include<stdio.h>
#include<math.h>
#define u 20
int i,j,n,m;
float Ix[u],I[u][u],H_X,H_Y,H_XY,I_XY,H_XpY,Pypx[u][u],Px[u],H_YpX,Py[u],Pxpy[u][u],Pxy[u][u];
/*¶¨ÒåµÄIx[]=I(x[i])×ÔÐÅÏ¢£»I[][]=I(x[i];y[j])»¥ÐÅÏ¢£»H_X=H(X)ƽ¾ù×ÔÐÅÏ¢£»H_XY=H(XY)ÁªºÏìØ;
I_XY=I(X;Y)ƽ¾ù»¥ÐÅÏ¢£»H_XpY=H(X|Y ......
¹ØÓÚperlÖкÍCÖеÄsort»úÖÆ
£¨×ªÔØ£©
ϸ¶ÁC++ primer£¬ÖÕÓÚÀí½âÁËÒ»Ö±±È½ÏÒÉ»óµÄperlºÍCµÄsortº¯Êý»úÖÆ¡£ÎÒµ½²»ÊÇÒÉ»óËüµÄÓ÷¨£¬¶øÊǺÜÒÉ»óËüµÄÐÎʽ£¬ÎªÊ²Ã´Òª´«µÝÒ»¸ö×Ó³ÌÐòµÄÄäÃûÒýÓøøËüÄØ£¬¶øÇÒÐÎʽ»¹ºÜ¹Å¹Ö£¬Ò»¶¨ÒªÊÇ$a<$b£¬$a<=>$bÖ®ÀàµÄ¡£ÒªÇóÑϸñÇҹŹ֡£
½ñҹͻȻ¿´µ½p.384Ò³£¬¿´µ½ÊéÉ϶ÔquicksortÅÅ ......
Ò»¡¢malloc()ºÍfree()µÄ»ù±¾¸ÅÄîÒÔ¼°»ù±¾Ó÷¨
1¡¢º¯ÊýÔÐͼ°ËµÃ÷
void *malloc(long NumBytes)£º¸Ãº¯Êý·ÖÅäÁËNumBytes¸ö×Ö½Ú£¬²¢·µ»ØÁËÖ¸ÏòÕâ¿éÄÚ´æµÄÖ¸Õë¡£Èç¹û·ÖÅäʧ°Ü£¬Ôò·µ»ØÒ»¸ö¿ÕÖ¸Õ루NULL£©¡£ ¹ØÓÚ·ÖÅäʧ°ÜµÄÔÒò£¬Ó¦¸ÃÓжàÖÖ£¬±ÈÈç˵¿Õ¼ä²»×ã¾ÍÊÇÒ»ÖÖ¡£
void free(void *FirstByte)£º ¸Ãº¯ÊýÊǽ«Ö®Ç°ÓÃmalloc· ......