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

¡¶Cר¼Ò±à³Ì¡·2.3CÓïÑÔÖеķûºÅÖØÔØ

CÓïÑÔÖÐÐí¶à·ûºÅÊDZ»“ÖØÔØ”µÄ£¬ÓÐЩ¹Ø¼ü×ÖÒ²±»ÖØÔضø¾ßÓкü¸ÖÖÒâÒ壬ֵµÃ×¢ÒâµÄ¼¸¸ö·ûºÅÈçÏ£º
·ûºÅ      ÒâÒå
static   ÔÚº¯ÊýÄÚ²¿£¬±íʾ¸Ã±äÁ¿µÄÖµÔÚ¸÷¸öµ÷ÓüäÒ»Ö±±£³ÖÑÓÐøÐÔ
            ÔÚº¯ÊýÕâÒ»¼¶£¬±íʾ¸Ãº¯ÊýÖ»¶Ô±¾Îļþ¿É¼û
extern ÓÃÓÚº¯Êý¶¨Ò壬±íʾȫ¾Ö¿É¼û£¨ÈßÓࣩ
           ÓÃÓÚ±äÁ¿£¬±íʾËüÔÚÆäËûµØ·½¶¨Òå
void    ×÷Ϊº¯ÊýµÄ·µ»ØÀàÐÍ£¬±íʾ²»·µ»ØÈκÎÖµ
          ÔÚÖ¸ÕëÉùÃ÷ÖУ¬±íʾͨÓÃÖ¸ÕëµÄÀàÐÍ
          Î»ÓÚ²ÎÊýÁбíÖУ¬±íʾûÓвÎÊý
¸½£º
CÖеÄstatic
static ÉùÃ÷µÄ±äÁ¿ÔÚCÓïÑÔÖÐÓÐÁ½·½ÃæµÄÌØÕ÷£º
1)¡¢±äÁ¿»á±»·ÅÔÚ³ÌÐòµÄÈ«¾Ö´æ´¢ÇøÖУ¬ÕâÑù¿ÉÒÔÔÚÏÂÒ»´Îµ÷ÓõÄʱºò»¹¿ÉÒÔ±£³ÖÔ­À´µÄ¸³Öµ¡£ÕâÒ»µãÊÇËüÓë¶ÑÕ»±äÁ¿ºÍ¶Ñ±äÁ¿µÄÇø±ð¡£
2)¡¢±äÁ¿ÓÃstatic¸æÖª±àÒëÆ÷£¬×Ô¼º½ö½öÔÚ±äÁ¿µÄ×÷Ó÷¶Î§Äڿɼû¡£ÕâÒ»µãÊÇËüÓëÈ«¾Ö±äÁ¿µÄÇø±ð¡£
¹ØÓÚstatic±äÁ¿£¬ÇëÑ¡ÔñÏÂÃæËùÓÐ˵·¨ÕýÈ·µÄÄÚÈÝ£º
A¡¢ÈôÈ«¾Ö±äÁ¿½öÔÚµ¥¸öCÎļþÖзÃÎÊ£¬Ôò¿ÉÒÔ½«Õâ¸ö±äÁ¿ÐÞ¸ÄΪ¾²Ì¬È«¾Ö±äÁ¿£¬ÒÔ½µµÍÄ£¿é¼äµÄñîºÏ¶È£»
B¡¢ÈôÈ«¾Ö±äÁ¿½öÓɵ¥¸öº¯Êý·ÃÎÊ£¬Ôò¿ÉÒÔ½«Õâ¸ö±äÁ¿¸ÄΪ¸Ãº¯ÊýµÄ¾²Ì¬¾Ö²¿±äÁ¿£¬ÒÔ½µµÍÄ£¿é¼äµÄñîºÏ¶È£»
C¡¢Éè¼ÆºÍʹÓ÷ÃÎʶ¯Ì¬È«¾Ö±äÁ¿¡¢¾²Ì¬È«¾Ö±äÁ¿¡¢¾²Ì¬¾Ö²¿±äÁ¿µÄº¯Êýʱ£¬ÐèÒª¿¼ÂÇÖØÈëÎÊÌâ
D¡¢¾²Ì¬È«¾Ö±äÁ¿¹ý´ó£¬¿ÉÄǻᵼÖ¶ÑÕ»Òç³ö¡£  (×)
´ð°¸Óë·ÖÎö£º
¶ÔÓÚA£¬B£º¸ù¾Ý±¾Æª¸ÅÊö²¿·ÖµÄ˵Ã÷b)£¬ÎÒÃÇÖªµÀ£¬A,B¶¼ÊÇÕýÈ·µÄ¡£
¶ÔÓÚC£º¸ù¾Ý±¾Æª¸ÅÊö²¿·ÖµÄ˵Ã÷a)£¬ÎÒÃÇÖªµÀ£¬CÊÇÕýÈ·µÄ£¨ËùνµÄº¯ÊýÖØÈëÎÊÌ⣬ÏÂÃæ»áÏêϸ²ûÊö£©¡£
¶ÔÓÚD£º¾²Ì¬±äÁ¿·ÅÔÚ³ÌÐòµÄÈ«¾ÖÊý¾ÝÇø£¬¶ø²»ÊÇÔÚ¶ÑÕ»ÖзÖÅ䣬ËùÒÔ²»¿ÉÄܵ¼Ö¶ÑÕ»Òç³ö£¬DÊÇ´íÎóµÄ¡£
Òò´Ë£¬´ð°¸ÊÇA¡¢B¡¢C¡£
ÎÊÌ⣺²»¿ÉÖØÈ뺯Êý
¡¡¡¡Ôø¾­Éè¼Æ¹ýÈçÏÂÒ»¸öº¯Êý£¬ÔÚ´úÂë¼ìÊÓµÄʱºò±»ÌáÐÑÓÐbug£¬ÒòΪÕâ¸öº¯ÊýÊDz»¿ÉÖØÈëµÄ£¬ÎªÊ²Ã´£¿
unsigned int sum_int( unsigned int base )
{
¡¡unsigned int index;
¡¡static unsigned int sum = 0; // ×¢Ò⣬ÊÇstaticÀàÐ͵ġ£
¡¡for (index = 1; index <= base; index++)
¡¡{
¡¡¡¡sum += index;
¡¡}
¡¡return sum;

´ð°¸Óë·ÖÎö£º
¡¡¡¡ËùνµÄº¯ÊýÊÇ¿ÉÖØÈëµÄ£¨Ò²¿ÉÒÔ˵ÊÇ¿ÉÔ¤²âµÄ£©£¬¼´£ºÖ»ÒªÊäÈëÊý¾ÝÏàͬ¾ÍÓ¦²úÉúÏàͬµÄÊä³ö¡£
¡¡¡¡Õ


Ïà¹ØÎĵµ£º

CµÄÀúÊ·

CµÄÓÉÀ´
CÓïÑÔÊÇÓÉUNIXµÄÑÐÖÆÕßDennis RitchieºÍKen ThompsonÓÚ1970ÄêÑÐÖÆ³öµÄBÓïÑԵĻù´¡ÉÏ·¢Õ¹ºÍÍêÉÆÆðÀ´µÄ.
CµÄÌØµã
CÓïÑÔÊÇÒ»ÖÖÃæÏò¹ý³ÌµÄÓïÑÔ,ͬʱ¾ßÓлã±àÓïÑԺ͸߼¶ÓïÑÔµÄÓŵã.CÓïÑÔ¿ÉÒԹ㷺ӦÓÃÓÚ²»Í¬µÄ²Ù×÷ϵͳ,ÈçUNIX,DOS,Windows¼°LinuxµÈ.
CµÄ·¢Õ¹
1973Äê,CÓïÑÔµÚÒ»´Î±»ÓÃÀ´±àд²Ù×÷ϵͳ(Unix)µÄÄÚºË.Denn ......

CÓïÑÔº¯Êýµ÷ÓÃÔ¼¶¨


×ªÔØ×Ô£º
ܰÈÙ¼ÒÔ°blog
ÔÚCÓïÑÔÖУ¬¼ÙÉèÎÒÃÇÓÐÕâÑùµÄÒ»¸öº¯Êý£º
int function(int a,int b)
µ÷
ÓÃʱֻҪÓÃresult =
function(1,2)ÕâÑùµÄ·½Ê½¾Í¿ÉÒÔʹÓÃÕâ¸öº¯Êý¡£µ«ÊÇ£¬µ±¸ß¼¶ÓïÑÔ±»±àÒë³É¼ÆËã»ú¿ÉÒÔʶ±ðµÄ»úÆ÷Âëʱ£¬ÓÐÒ»¸öÎÊÌâ¾Í͹ÏÖ³öÀ´£ºÔÚCPUÖУ¬¼ÆËã
»úûÓа취֪µÀÒ»¸öº¯Êýµ÷ÓÃÐèÒª¶àÉÙ¸ö¡¢Ê²Ã´ÑùµÄ²ÎÊý£¬Ò² ......

ǶÈëʽ¿ª·¢£­CÓïÑÔÃæÊÔÌâ(¶þ)

11¡¢ÏÂÃæµÄ´úÂëÊä³öÊÇʲô£¬ÎªÊ²Ã´£¿
Void foo(void)
{
unsigned int a = 6;
int b = -20;
(a+b > 6) £¿puts("> 6") : puts("<= 6");
}
²»¹ÜÈçºÎ£¬ÕâÎÞ·ûºÅÕûÐÍÎÊÌâµÄ´ð°¸ÊÇÊä³öÊÇ“>6”¡£Ô­ÒòÊǵ±±í´ïʽÖдæÔÚÓзûºÅÀàÐͺÍÎÞ·ûºÅÀàÐÍʱËùÓеIJÙ×÷Êý¶¼×Ô¶¯×ª»»ÎªÎÞ·ûºÅÀàÐÍ¡£Òò´Ë-20±ä³ÉÁËÒ»¸ ......

C/C++ÓïÑÔÖÐÖ¸ÕëµÄÒâÒå

¿´µ½Õâ¸öÃæÊÔÌâ,¹À¼ÆºÜ¶à¸ÕѧCÖ¸ÕëµÄͬѧ¶¼»á¸ã´í.
void GetMemory(char *p)
{
// ´«µÝ½øÀ´µÄµÄֵʹµÃ*p==NULL
// ÕâÀïÐ޸ĵÄÊÇÕâ¸öº¯ÊýÄÚµÄÁÙʱָÕë±äÁ¿pµÄÖµ
p = (char *)malloc(100);
}
void Test(void)
{
char *str = NULL;
// ´«µÝ½øÈ¥µÄÊÇstrµÄÖµNULL
GetMemory(str);
// ÕâÀïstrÖ¸Õë² ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ