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

C/C++Öеĺ¯Êý²ÎÊý´«µÝ»úÖÆ(×ªÔØ)

 Ò»¡¢ º¯Êý²ÎÊý´«µÝ»úÖÆµÄ»ù±¾ÀíÂÛ ¡¡¡¡º¯Êý²ÎÊý´«µÝ»úÖÆÎÊÌâÔÚ±¾ÖÊÉÏÊǵ÷Óú¯Êý£¨¹ý³Ì£©ºÍ±»µ÷Óú¯Êý£¨¹ý³Ì£©ÔÚµ÷Ó÷¢Éúʱ½øÐÐͨÐŵķ½·¨ÎÊÌâ¡£»ù±¾µÄ²ÎÊý´«µÝ»úÖÆÓÐÁ½ÖÖ£ºÖµ´«µÝºÍÒýÓô«µÝ¡£ÒÔÏÂÌÖÂ۳Ƶ÷ÓÃÆäËûº¯ÊýµÄº¯ÊýΪÖ÷µ÷º¯Êý£¬±»µ÷Óõĺ¯ÊýΪ±»µ÷º¯Êý¡£¡¡¡¡Öµ´«µÝ£¨passl-by-value£©¹ý³ÌÖУ¬±»µ÷º¯ÊýµÄÐÎʽ²ÎÊý×÷Ϊ±»µ÷º¯ÊýµÄ¾Ö²¿±äÁ¿´¦Àí£¬¼´ÔÚ¶ÑÕ»Öпª±ÙÁËÄÚ´æ¿Õ¼äÒÔ´æ·ÅÓÉÖ÷µ÷º¯Êý·Å½øÀ´µÄʵ²ÎµÄÖµ£¬´Ó¶ø³ÉΪÁËʵ²ÎµÄÒ»¸ö¸±±¾¡£Öµ´«µÝµÄÌØµãÊDZ»µ÷º¯Êý¶ÔÐÎʽ²ÎÊýµÄÈκβÙ×÷¶¼ÊÇ×÷Ϊ¾Ö²¿±äÁ¿½øÐУ¬²»»áÓ°ÏìÖ÷µ÷º¯ÊýµÄʵ²Î±äÁ¿µÄÖµ¡£¡¡¡¡ÒýÓô«µÝ(pass-by-reference)¹ý³ÌÖУ¬±»µ÷º¯ÊýµÄÐÎʽ²ÎÊýËäȻҲ×÷Ϊ¾Ö²¿±äÁ¿ÔÚ¶ÑÕ»Öпª±ÙÁËÄÚ´æ¿Õ¼ä£¬µ«ÊÇÕâʱ´æ·ÅµÄÊÇÓÉÖ÷µ÷º¯Êý·Å½øÀ´µÄʵ²Î±äÁ¿µÄµØÖ·¡£±»µ÷º¯Êý¶ÔÐβεÄÈκβÙ×÷¶¼±»´¦Àí³É¼ä½ÓѰַ£¬¼´Í¨¹ý¶ÑÕ»Öдæ·ÅµÄµØÖ··ÃÎÊÖ÷µ÷º¯ÊýÖеÄʵ²Î±äÁ¿¡£ÕýÒòΪÈç´Ë£¬±»µ÷º¯Êý¶ÔÐβÎ×öµÄÈκβÙ×÷¶¼Ó°ÏìÁËÖ÷µ÷º¯ÊýÖеÄʵ²Î±äÁ¿¡£
¶þ¡¢ CÓïÑÔÖеĺ¯Êý²ÎÊý´«µÝ»úÖÆ ¡¡¡¡ÔÚCÓïÑÔÖУ¬Öµ´«µÝÊÇΨһ¿ÉÓõIJÎÊý´«µÝ»úÖÆ¡£µ«ÊǾݱÊÕßËùÖª£¬ÓÉÓÚÊÜÖ¸Õë±äÁ¿×÷Ϊº¯Êý²ÎÊýµÄÓ°Ï죬ÓÐÐí¶àÅóÓÑ»¹ÈÏΪÕâÖÖÇé¿öÊÇÒýÓô«µÝ¡£ÕâÊÇ´íÎóµÄ¡£Çë¿´ÏÂÃæµÄ´úÂ룺 int swap(int *x, int *y) { int temp; temp = *x; *x = *y; *y = temp; return temp; } void main() { int a = 1, b = 2; int *p1 = &a; int *p2 = &b; swap(p1, p2) } ¡¡¡¡º¯ÊýswapÒÔÁ½¸öÖ¸Õë±äÁ¿×÷Ϊ²ÎÊý£¬µ±main()µ÷ÓÃswapʱ£¬ÊÇÒÔÖµ´«µÝµÄ·½Ê½½«Ö¸Õë±äÁ¿p1¡¢p2µÄÖµ£¨Ò²¾ÍÊDZäÁ¿a¡¢bµÄµØÖ·£©·ÅÔÚÁËswapÔÚ¶ÑÕ»ÖÐΪÐÎʽ²ÎÊýx¡¢y¿ª±ÙµÄÄÚ´æµ¥ÔªÖС£ÕâÒ»µã´ÓÒÔϵĻã±à´úÂë¿ÉÒÔ¿´³ö£¨×¢ÊÍÊDZÊÕ߼ӵģ©£º 22: void main() 23: { …… …… 13: int a = 1, b = 2; 00401088 mov dword ptr [ebp-4],1 0040108F mov dword ptr [ebp-8],2 14: int *p1 = &a; 00401096 lea eax,[ebp-4] 00401099 mov dword ptr [ebp-0Ch],eax 15: int *p2 = &b; 0040109C lea ecx,[ebp-8] 0040109F mov dword ptr [ebp-10h],ecx 16: swap(p1, p2); 004010A2 mov edx,dword ptr [ebp-10h] £»²ÎÊýp2µÄÖµ½øÕ» 004010A5 push edx 004010A6 mov eax,dword ptr [ebp-0Ch] £»²ÎÊýp1µÄÖµ½øÕ» 004010A9 push eax 004010AA call @ILT+15(swap) (00401014) £»µ÷ÓÃswapº¯Êý 004010AF add esp,8 £»ÇåÀí¶ÑÕ»ÖеIJÎÊý 17: } ¡¡¡¡ÔĶÁÉÏÊö´úÂëҪעÒ⣬INTEL8


Ïà¹ØÎĵµ£º

¹¹½¨×Ô¼ºµÄC/C++²å¼þ¿ª·¢¿ò¼Ü——ϵÁÐ

ÕâһϵÁÐÎÄÕÂÊÇÎÒ¹¹½¨C/C++²å¼þ¿ª·¢¿ò¼Ü¿ª·Å¿ò¼ÜµÄ¹ý³Ì¡£ºóÃæ»áÒ»Ö±¸üУ¬Ö±ÖÁ¹¹½¨Íê³É¡£
¡¶¹¹½¨×Ô¼ºµÄC/C++²å¼þ¿ª·¢¿ò¼Ü£¨Ò»£©——³õ²½ÉèÏë¡·
¡¶¹¹½¨×Ô¼ºµÄC/C++²å¼þ¿ª·¢¿ò¼Ü£¨¶þ£©——×ÜÌ幦ÄÜ¡·
¡¶
¹¹½¨×Ô¼ºµÄC/C++²å¼þ¿ª·¢¿ò¼Ü£¨Èý£©——×ÜÌå½á¹¹
¡·
¡¶¹¹½¨×Ô¼ºµÄC/C++²å¼þ¿ª·¢¿ò¼ ......

ECLIPSE ¿ª·¢ C/C++ ¹¤³Ì

  ×î½üÒ»¸öÅóÓÑ×¼±¸°ÑC´úÂëÔÚECLIPSEÉϱàÒ룬ÒÔǰһֱ¸ãµÄJAVA£¬Ò²ÖªµÀECLIPSEÖ§³ÖC¹¤³Ì£¬µ«ÊÇ×Ô¼º´ÓÀ´Ã»¸ã¹ý£¬ËùÒÔ¾Í×Ô¼ºÏÈ´ÓÍøÂçÉÏÕÒ×ÊÁÏ£¬Ö÷Òª·½·¨ÈçÏÂ
1¡¢°²×°JDKºÍEclipse
ÕâÀï¾Í²»¶à˵£¬¾ßÌåÇë¼û£ºhttp://blog.chinaunix.net/u/16292/showart_223309.html
Îҵݲװ»·¾³ÊÇjdk1.5£¬eclipse3.2.1
2¡¢°²×°C++µÄE ......

ѸÀ×±ÊÊÔ ×Ö·û´®·´×ª C¿âº¯Êý strrev

char* my_strrev( char* string )
{
 char *left, *right, ch;
 left = right = string;
 while( *right++ != '\0');
 right -= 2;
 while( left<right )
 {
  ch = *left;
  *left = *right;
  *right = ch;
  ++left; --right;
&n ......

C/C++ÖÐStaticµÄ×÷ÓÃÏêÊö


C/C++ÖÐStaticµÄ×÷ÓÃÏêÊö
 
1.ÏÈÀ´½éÉÜËüµÄµÚÒ»ÌõÒ²ÊÇ×îÖØÒªµÄÒ»Ìõ£ºÒþ²Ø¡£
µ±ÎÒÃÇͬʱ±àÒë¶à¸öÎļþʱ£¬ËùÓÐδ¼Óstaticǰ׺µÄÈ«¾Ö±äÁ¿ºÍº¯Êý¶¼¾ßÓÐÈ«¾Ö¿É¼ûÐÔ¡£ÎªÀí½âÕâ¾ä»°£¬ÎÒ¾ÙÀýÀ´ËµÃ÷¡£ÎÒÃÇҪͬʱ±àÒëÁ½¸öÔ´Îļþ£¬Ò»¸öÊÇa.c£¬ÁíÒ»¸öÊÇmain.c.
ÏÂÃæÊÇa.cµÄÄÚÈÝ£º
char a = 'A'; // global variable
void ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ