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Ïȸú[]½áºÏ£¬Òò´Ë*ÐÞÊεÄÊÇ
Ïà¹ØÎĵµ£º
#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 ......
ÈçÏ´úÂë±àÒëÔËÐоͻáÌáʾR6002´íÎó #include
struct xxx{
float score;
};
int main()
{
xxx* p = new xxx;
scanf( "%f" , &p->score );
delete p;
} ½â¾ö·½°¸ºÜ¼òµ¥ int main()
{
xxx* p ......
ÓÃlinux C ϵĺ¯Êýµ÷Óô´½¨ÖÐÎÄĿ¼¡¢ÎļþµÈ£¬×Ö·û´®µÄ±àÂë¸ñʽҪÇóÊÇutf-8¸ñʽµÄ¡£
±ÈÈçÏëҪʹÓà int mkdir(const char *pathname, mode_t mode); ´´½¨Ò»¸öÖÐÎĵÄĿ¼¡£ÄÇôpathnameµÄ±àÂë¸ñʽҪÇóÊÇutf-8µÄ£¬¶ø²»ÄÜÊÇgb3212/gbkµÄ£¬·ñÔò¾ÍÊÇÂÒÂë¡£
ÄÇôÈç¹ûlinux CÏÂÈçºÎ½øÐÐgbk<---->utf-8±àÂëת»»µÄ±àÂë×°»»µÄ ......
Ò»¡¢malloc()ºÍfree()µÄ»ù±¾¸ÅÄîÒÔ¼°»ù±¾Ó÷¨
1¡¢º¯ÊýÔÐͼ°ËµÃ÷
void *malloc(long NumBytes)£º¸Ãº¯Êý·ÖÅäÁËNumBytes¸ö×Ö½Ú£¬²¢·µ»ØÁËÖ¸ÏòÕâ¿éÄÚ´æµÄÖ¸Õë¡£Èç¹û·ÖÅäʧ°Ü£¬Ôò·µ»ØÒ»¸ö¿ÕÖ¸Õ루NULL£©¡£ ¹ØÓÚ·ÖÅäʧ°ÜµÄÔÒò£¬Ó¦¸ÃÓжàÖÖ£¬±ÈÈç˵¿Õ¼ä²»×ã¾ÍÊÇÒ»ÖÖ¡£
void free(void *FirstByte)£º ¸Ãº¯ÊýÊǽ«Ö®Ç°ÓÃmalloc· ......
ÉùÃ÷£º±¾ÎÄ×ªÔØ×Ô»¥ÁªÍø
Ò»¡¢Ö¸ÕëµÄÀàÐÍ
¶þ¡¢Ö¸ÕëËùÖ¸ÏòµÄÀàÐÍ
Èý¡¢Ö¸ÕëµÄÖµ»òÖ¸ÕëËùÖ¸ÏòµÄÄÚÔÚÇø
ËÄ¡¢Ö¸Õë±¾ÉíËùÕ¼¾ÝµÄÄÚÔÚÇø
1.Ö¸ÕëµÄÀàÐÍ£º
´ÓÓï·¨µÄ½Ç¶È¿´£¬ÄãÖ»Òª°ÑÖ¸ÕëÉùÃ÷Óï¾äÀïµÄÖ¸ÕëÃû×ÖÈ¥µô£¬Ê£ÏµIJ¿·Ö¾Í
ÊÇÕâ¸öÖ¸ÕëµÄÀàÐÍ¡£ÕâÊÇÖ¸Õë±¾ÉíËù¾ßÓеÄÀàÐÍ¡£ÈÃÎÒÃÇ¿´¿´ÒÔϸ÷¸öÖ¸ÕëµÄ
ÀàÐÍ£º
(1)int *ptr ......