Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

[C]CÓïÑÔ»ù´¡¹®¹ÌרÌâ Á´±íÖ®£¨Á´±í·´×ª£©

 Á´±íÊÇcÓïÑÔÖкÜÖØÒªµÄÊý¾Ý½á¹¹£¬ÊÇ¿¼²ìÒ»¸ö³ÌÐòÔ±µÄ»ù±¾¹¦µÄÊֶΣ¬Ö®Ç°ÔÚÒ»¼Ò¹«Ë¾ÃæÊÔʱ¾ÍÎʵ½ÁË
ʵÏÖÒ»¸öÁ´±íµÄ·´×ª£¬µ±Ê±¾ÍÊÇûÓкܺÃÀä¾²µÄ˼¿¼£¬½ñÌìÔÚÕâÀïд³öÀ´£¬¹²Ã㣡
 »ù±¾Ëã·¨£º
       1. ÅжÏÊÇ·ñΪ¿Õ£¬Èç¹ûΪ¿Õ£¬·µ»ØNULL
       2. ·ñÔò˵Ã÷ÖÁÉÙÓÐÒ»¸ö½Úµã£¬ÄÇô
             p2Ö¸Ïò×îºóÒ»¸ö½Úµã£¬p1Ö¸Ïòǰһ¸ö½Úµã£¬
            °Ñp2Ö¸ÏòµÄ½ÚµãµÄnext ÖÃΪNULL(ÒòΪÕâ¸öµã½«ÊÇÁ´±íµÄĩβ½Úµã)
           
      3. ½øÈëÑ­»·
              1£©ÈÃǰһ¸ö½ÚµãºÍºóÒ»¸ö½ÚµãÖØÐ½¨Á¢Á¬½Ó£»
              2£©P2 ÍùÇ°ÒÆ£¬p2=p1;
              3£©P1 ÍùÇ°ÒÆ£¬p1=p1->next¡£
          ºóÁ½²½ÊÇΪÏÂÒ»¸öÑ­»·×ö×¼±¸¡£
      4. µ±p1Ϊ¿Õʱ£¬p2Ö¸ÏòµÄÊÇ×îºóÒ»¸ö½Úµã£¬ÄÇô·µ»Øp2.
»ù±¾´úÂëÈçÏ£º
struct Node
{
int num;
Node * next;
};
Node * reverse(Node * head)
{
if(head==NULL)
{
return NULL;
}
Node * p1,p2;
p2=head;
p1=head->next;
p2->next=NULL;
while(p1)
{
p1->next=p2;
p2=p1;
p1=p1->next;
}
return p2;
}


Ïà¹ØÎĵµ£º

¡¾C\C++ÓïÑÔÈëÃÅÆª¡¿ µ÷ÊÔ»ù´¡

ͨ¹ýÇ°ÃæÁ½Æª£¬ÏàÐÅ´ó¼ÒÒѾ­»ù±¾Á˽âÁËÎÒÃǵÄÑо¿Ë¼Â·¡£¼ÈÈ»ÊÇÑо¿£¬ÄÇô±ØÐëµÄÑо¿¹¤¾ß¾ÍµÃÊìÁ·ÕÆÎÕÁË¡£ÕâÀïÎÒËùÖ¸µÄÑо¿¹¤¾ß¾ÍÊÇVC£¬ÎÒËùʹÓõÄVC°æ±¾ÊÇ2005¡£±¾ÎÄÒ²½«¸ù¾ÝVC2005½øÐÐ̽ÌÖ¡£¿ÉÄܺܶàÅóÓÑ»òÕß³õѧÕß»¹ÊÇʹÓõÄVC6.0¡£ÔÚÕâÀï±¾È˲»ÍƼöʹÓÃVC6.0¡£Ô­ÒòºÜ¼òµ¥£¬VC6.0ÒѾ­¹ýʱÁË£¬ºóÃæµÄ°æ±¾±ÈVC6.0¸üÇ¿´ó·½±ã ......

C multi line macro: do/while(0) vs scope block

http://docs.google.com/View?docid=ajbgz6fp3pjh_2dwwwwt#_38239340844832237
It is not about optimization.
The whole idea of using 'do/while' version
is to make a macro which will
expand into a regular statement, not into a
compound statement. This is
done in order to make the use of function-s ......

¡¾C/C++Ïà¹ØÖªÊ¶¡¿ATOMÓÅ»¯Ö®GCCƪ

×÷Õߣº Yanqing Wang (Intel)
ÔÚATOM³ÌÐòÓÅ»¯ÀûÆ÷ÖУ¬±ÊÕß×ÅÖØ½²ÊöÁËÈçºÎʹÓÃIntel Compiler¶ÔATOMÓ¦ÓóÌÐòµÄÓÅ»¯£¬ºÜ¶àÍøÓѶ¼±È½Ï¸ÐÐËȤ²¢ÏëÖªµÀÔÚGCC±àÒëÆ÷ÏÂÈçºÎÓÅ»¯ATOM¡£½è´Ë£¬±¾ÎĽ«ÖصãÓÚÌÖÂÛÈçºÎʹATOMÓ¦ÓóÌÐòÔÚGCC±àÒëÆ÷ÏÂÓÅ»¯¡£
ϸÐĵÄÍøÓÑ¿ÉÄÜ·¢ÏÖGCC4.4.2ÊÖ²áûÓн²ÊöÈçºÎÔÚATOMƽ̨ÓÅ»¯£¬ËùÒÔҪͨ¹ýGCC¶ÔAT ......

[C]CÓïÑÔ»ù´¡¹®¹ÌרÌâ const

const ÊÇÔÚ³ÌÐòÖзdz£ÖØÒª¡£ÔÚÕâÀïÎÒ×öһϼòµ¥µÄ½éÉÜ¡£
1.const »ù´¡
  constÓÐÁ½ÖÖÐÎʽ:
  a) const Type var;
     È磺int a =10;const int * var=&a; ÄÇôvar¾ÍÊdz£Á¿Ö¸Õ룬±íÃ÷ÊÇÖ¸Ïò³£Á¿µÄÖ¸Õ룬Ҳ¾ÍÊÇ˵aµÄÖµ²»Äܸı䡣
        ......

CµÄÁ½¸öÖ¸ÕëÎÊÌâ

1.int *p1 = *(int **)p2;
  Õâ¸ö±í´ïʽ½«p2Ö¸ÏòµÄÖµµ±×öÖ¸ÕëÀàÐ͸³Öµ¸øp1
£¬½«ÆÕֵͨµ±×öÖ¸ÕëֵʹÓÃ
2.*£¨int **£©p1 = p2£»
  Õâ¸ö±í´ïʽ½«p1Ö¸ÏòµÄÖµÐÞ¸ÄΪµÄp2±£´æµÄÖ¸Õë
µÄÖµ£¬½«Ö¸Õëµ±×öÆÕֵͨʹÓÃ
ÕâÊǽñÌì¿´us/OSµÄÄÚ´æ¹ÜÀíµÄʱºò¿´µ½µÄ£¬ÕæÊÇÌ«¾«±ÙÁË
°¦£¬¿´À´×Ô¼ºµÄ¼ûʶ»¹ÊÇÌ«ÉÙÁË£¬ÒÔºóµÃ¼Ó±¶Å ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ