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

C/C++ static µÄ×÷ÓÃ

ת×Ô£ºhttp://blog.csdn.net/xiaocai0001/archive/2006/04/14/662921.aspx
static¹Ø¼ü×ÖÊÇC, C++Öж¼´æÔڵĹؼü×Ö, ËüÖ÷ÒªÓÐÈýÖÖʹÓ÷½Ê½, ÆäÖÐÇ°Á½ÖÖÔÚC/C++ÓïÑÔÖÐʹÓÃ, µÚÈýÖÖÖ»ÔÚC++ÖÐʹÓÃ(C,C++ÖоßÌåϸ΢²Ù×÷²»¾¡Ïàͬ, ±¾ÎÄÒÔC++Ϊ׼).
(1)¾Ö²¿¾²Ì¬±äÁ¿
(2)Íⲿ¾²Ì¬±äÁ¿/º¯Êý
(3)¾²Ì¬Êý¾Ý³ÉÔ±/³ÉÔ±º¯Êý
ÏÂÃæ¾ÍÕâÈýÖÖʹÓ÷½Ê½¼°×¢ÒâÊÂÏî·Ö±ð˵Ã÷
Ò»¡¢¾Ö²¿¾²Ì¬±äÁ¿
ÔÚC/C++ÖÐ, ¾Ö²¿±äÁ¿°´ÕÕ´æ´¢ÐÎʽ¿É·ÖΪÈýÖÖauto, static, register
(<CÓïÑÔ³ÌÐòÉè¼Æ(µÚ¶þ°æ)>Ì·ºÆÇ¿, µÚ174-175Ò³)
ÓëautoÀàÐÍ(ÆÕͨ)¾Ö²¿±äÁ¿Ïà±È, static¾Ö²¿±äÁ¿ÓÐÈýµã²»Í¬
1. ´æ´¢¿Õ¼ä·ÖÅ䲻ͬ
autoÀàÐÍ·ÖÅäÔÚÕ»ÉÏ, ÊôÓÚ¶¯Ì¬´æ´¢Àà±ð, Õ¼¶¯Ì¬´æ´¢Çø¿Õ¼ä, º¯Êýµ÷ÓýáÊøºó×Ô¶¯ÊÍ·Å, ¶østatic·ÖÅäÔÚ¾²Ì¬´æ´¢Çø, ÔÚ³ÌÐòÕû¸öÔËÐÐÆڼ䶼²»ÊÍ·Å. Á½ÕßÖ®¼äµÄ×÷ÓÃÓòÏàͬ, µ«Éú´æÆÚ²»Í¬.
2. static¾Ö²¿±äÁ¿ÔÚËù´¦Ä£¿éÔÚ³õ´ÎÔËÐÐʱ½øÐгõʼ»¯¹¤×÷, ÇÒÖ»²Ù×÷Ò»´Î
3. ¶ÔÓÚ¾Ö²¿¾²Ì¬±äÁ¿, Èç¹û²»¸³³õÖµ, ±àÒëÆÚ»á×Ô¶¯¸³³õÖµ0»ò¿Õ×Ö·û, ¶øautoÀàÐ͵ijõÖµÊDz»È·¶¨µÄ. (¶ÔÓÚC++ÖеÄclass¶ÔÏóÀýÍâ, classµÄ¶ÔÏóʵÀýÈç¹û²»³õʼ»¯, Ôò»á×Ô¶¯µ÷ÓÃĬÈϹ¹Ô캯Êý, ²»¹ÜÊÇ·ñÊÇstaticÀàÐÍ)
Ìصã: static¾Ö²¿±äÁ¿µÄ”¼ÇÒäÐÔ”ÓëÉú´æÆڵĔȫ¾ÖÐÔ”
Ëùν”¼ÇÒäÐÔ”ÊÇÖ¸ÔÚÁ½´Îº¯Êýµ÷ÓÃʱ, ÔÚµÚ¶þ´Îµ÷ÓýøÈëʱ, Äܱ£³ÖµÚÒ»´Îµ÷ÓÃÍ˳öʱµÄÖµ.
ʾÀý³ÌÐòÒ»
#include <iostream>
using namespace std;
void staticLocalVar()
{
 static int a = 0; // ÔËÐÐÆÚʱ³õʼ»¯Ò»´Î, Ï´ÎÔÙµ÷ÓÃʱ, ²»½øÐгõʼ»¯¹¤×÷
 cout<<"a="<<a<<endl;
 ++a;
}
int main()
{
 staticLocalVar(); // µÚÒ»´Îµ÷ÓÃ, Êä³öa=0
 staticLocalVar(); // µÚ¶þ´Îµ÷ÓÃ, ¼ÇÒäÁ˵ÚÒ»´ÎÍ˳öʱµÄÖµ, Êä³öa=1
 return 0;
}
Ó¦ÓÃ:
 ÀûÓÔ¼ÇÒäÐÔ”, ¼Ç¼º¯Êýµ÷ÓõĴÎÊý(ʾÀý³ÌÐòÒ»)
   ÀûÓÃÉú´æÆڵĔȫ¾ÖÐÔ”, ¸ÄÉÆ”return a pointer / reference to a local object”µÄÎÊÌâ. Local objectµÄÎÊÌâÔÚÓÚÍ˳öº¯Êý, Éú´æÆÚ¼´½áÊø,. ÀûÓÃstaticµÄ×÷ÓÃ, ÑÓ³¤±äÁ¿µÄÉú´æÆÚ.
ʾÀý³ÌÐò¶þ:
// IP address to string format
// Used in Ethernet Frame and IP Header analysis
const char * IpToStr(UINT32 IpAddr)
{
 static char strBuff[16]; // static¾Ö²¿±äÁ¿, ÓÃÓÚ·µ»Øµ


Ïà¹ØÎĵµ£º

C/C++ÔËÐÐÖеÄһЩÎÊÌâ¼°Æä½â¾ö

±¾ÈËÔÚ×ö±ÏÉèµÄʱºòÓöµ½µÄһЩÎÊÌ⣬ÔÚÕâÀï×ܽáһϣ¬Ï£Íû»á¶Ô´ó¼ÒÓÐЩ°ïÖú~Óв»×ãÖ®´¦»¹ÍûÖ¸³ö£¬´ó¼Ò¹²Í¬½ø²½^_^
 Ò»¡¢»ù±¾½éÉÜ£º
1.ÔËÐл·¾³VC6.0£¨Microsoft Visual C++ 6.0£©£¨http://40.duote.org/microsoft_visualc6.zip£©
2.¿ÎÌâÏà¹ØÄÚÈÝ£ºAVSÊÓƵ±àÂë
¶þ¡¢³öÏÖµÄÎÊÌâ¼°½â¾ö·½·¨£º
1.ÎÊÌ⣺
fatal er ......

CÊä³ö¸ñʽ×ܽá

CÊä³ö¸ñʽ×ܽá
2007-07-08 12:09
1 Ò»°ã¸ñʽ
   printf(¸ñʽ¿ØÖÆ£¬Êä³ö±íÁУ©
   ÀýÈ磺printf("i=%d,ch=%c\n",i,ch);
   ˵Ã÷:
   (1)“¸ñʽ¿ØÖÆ”ÊÇÓÃ˫ƲºÅÀ¨ÆðÀ´µÄ×Ö·û´®£¬Ò²³Æ“ת»»¿ØÖÆ×Ö·û´®”£¬Ëü°üÀ¨Á½ÖÖÐÅÏ¢£º
    &nbs ......

C ³ÌÐòµÄ´æ´¢¿Õ¼ä²¼¾Ö

C ³ÌÐòÓÐÏÂÃ漸¸ö²¿·Ö×é³É£º
  1  ÕýÎĶΣºÕâÊÇCPU Ö´ÐеĻúÆ÷Ö¸ÁîµÄ²¿·Ö¡£Í¨³£ÕýÎĶÎÊÇ¿ÉÒÔ¹²ÏíµÄ£¬ËùÒÔ¼´Ê¹ÊÇƵ·±Ö´ÐеijÌÐò£¨È磺Îı¾±à¼­Æ÷£©ÔÚ´æ´¢Æ÷ÉÏÒ²Ö»ÓÐÒ»¸ö¸±±¾¡£ÁíÍâÕýÎĶγ£³£ÊÇÖ»¶ÁµÄ£¬ÒÔ·ÀÖ¹³ÌÐòÒòΪÒâÍâ¶øÐÞ¸ÄÆä×ÔÉíµÄÖ¸Áî¡£
  2  ³õʼ»¯Êý¾Ý¶Î£ºÍ¨³£½«´Ë¶Î³ÆΪÊý¾Ý¶Î£¬Ëü°üº¬Á˳ÌÐò ......

windowsÏÂCд·þÎñ»ù±¾¿ò¼Ü

ÎÒ½«ÒµÎñ´úÂëÈ¥µôÁË£¬Ö»ÊÇÓÃÀ´´î¸ö»ù±¾¿ò¼Ü£¬Óõ½µÄʱºòÖ±½ÓÄÃÀ´ÓþͿÉÒÔÁË¡£(ÎÒÕâ¸öÊÇÆðÒ»¸ösocket)Èç¹ûÓÐʲô½¨ÒéÇëÁªÏµÎÒ¡£ChuangshengGuan@Gmail.com
main.c
Code:
#include "Services.h"
int main(int argc, char *argv[])
{
  SERVICE_TABLE_ENTRY ServiceTable[2];
 
  /* Ö¸Ïò±íʾ·þ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ