Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
CÓïÑÔÕýȷʹÓÃextern¹Ø¼ü×Ö
 
  3387  次浏览      28
 2019-8-5
 
±à¼­ÍƼö:
±¾ÎÄÀ´×ÔÓÚcsdn£¬±¾ÎĽáºÏ¾ßÌåµÄʵÀý£¬½éÉÜÁËÈçºÎÀûÓùؼü×Öextern£¬¿ÉÒÔÔÚÒ»¸öÎļþÖÐÒýÓÃÁíÒ»¸öÎļþÖж¨ÒåµÄ±äÁ¿»òÕߺ¯Êý¡£

Ò»¡¢ÒýÓÃͬһ¸öÎļþÖеıäÁ¿

#include<stdio.h>
int func();
int main()
{
func(); //1
printf("%d",num); //2
return 0;
}
int num = 3;
int func()
{
printf("%d\n",num);
}

Èç¹û°´ÕÕÕâ¸ö˳Ðò£¬±äÁ¿ numÔÚmainº¯ÊýµÄºó±ß½øÐÐÉùÃ÷ºÍ³õʼ»¯µÄ»°£¬ÄÇôÔÚmainº¯ÊýÖÐÊDz»ÄÜÖ±½ÓÒýÓÃnumÕâ¸ö±äÁ¿µÄ£¬ÒòΪµ±±àÒëÆ÷±àÒëµ½ÕâÒ»¾ä»°µÄʱºò£¬ÕÒ²»µ½numÕâ¸ö±äÁ¿µÄÉùÃ÷£¬µ«ÊÇÔÚfuncº¯ÊýÖÐÊÇ¿ÉÒÔÕý³£Ê¹Óã¬ÒòΪfunc¶ÔnumµÄµ÷ÓÃÊÇ·¢ÉúÔÚnumµÄÉùÃ÷ºÍ³õʼ»¯Ö®ºó¡£

Èç¹ûÎÒ²»Ïë¸Ä±änumµÄÉùÃ÷µÄλÖ㬵«ÊÇÏëÔÚmainº¯ÊýÖÐÖ±½ÓʹÓÃnumÕâ¸ö±äÁ¿£¬Ôõô°ìÄØ£¿¿ÉÒÔʹÓÃexternÕâ¸ö¹Ø¼ü×Ö¡£ÏñÏÂÃæÕâÒ»¶Î´úÂ룬ÀûÓÃextern¹Ø¼ü×ÖÏÈÉùÃ÷Ò»ÏÂnum±äÁ¿£¬¸æËß±àÒëÆ÷numÕâ¸ö±äÁ¿ÊÇ´æÔڵ쬵«ÊDz»ÊÇÔÚÕâ֮ǰÉùÃ÷µÄ£¬Äãµ½±ðµÄµØ·½ÕÒÕÒ°É£¬¹ûÈ»£¬ÕâÑù¾Í¿ÉÒÔ˳Àûͨ¹ý±àÒëÀ²¡£µ«ÊÇÄãÒªÊÇÏëÆÛÆ­±àÒëÆ÷Ò²ÊDz»Ðе쬱ÈÈçÄãÉùÃ÷ÁËextern int num£»µ«ÊÇÔÚºóÃæÈ´Ã»ÓÐÕæÕýµÄ¸ø³önum±äÁ¿µÄÉùÃ÷£¬ÄÇô±àÒëÆ÷È¥±ðµÄµØ·½ÕÒÁË£¬µ«ÊÇûÕÒµ½»¹ÊDz»Ðеġ£

ÏÂÃæµÄ³ÌÐò¾ÍÊÇÀûÓÃextern¹Ø¼ü×Ö£¬Ê¹ÓÃÔÚºó±ß¶¨ÒåµÄ±äÁ¿¡£

#include<stdio.h>
int func();
int main()
{
func(); //1
extern int num;
printf("%d",num); //2
return 0;
}
int num = 3;
int func()
{
printf("%d\n",num);
}

¶þ¡¢ÒýÓÃÁíÒ»¸öÎļþÖеıäÁ¿

Èç¹ûexternÕâ¸ö¹Ø¼ü×Ö¾ÍÕâµã¹¦ÄÜ£¬ÄÇôÕâ¸ö¹Ø¼ü×Ö¾ÍÏԵöàÓàÁË£¬ÒòΪÉϱߵijÌÐò¿ÉÒÔͨ¹ý½«num±äÁ¿ÔÚmainº¯ÊýµÄÉϱßÉùÃ÷£¬Ê¹µÃÔÚmainº¯ÊýÖÐÒ²¿ÉÒÔʹÓá£

externÕâ¸ö¹Ø¼ü×ÖµÄÕæÕýµÄ×÷ÓÃÊÇÒýÓò»ÔÚͬһ¸öÎļþÖеıäÁ¿»òÕߺ¯Êý¡£

main.c

#include<stdio.h>
int main()
{
extern int num;
printf("%d",num);
return 0;
}

b.c

#include<stdio.h>
int num = 5;
void func()
{
printf("fun in a.c");
}

ÀýÈ磬ÕâÀïb.cÖж¨ÒåÁËÒ»¸ö±äÁ¿num£¬Èç¹ûmain.cÖÐÏëÒªÒýÓÃÕâ¸ö±äÁ¿£¬ÄÇô¿ÉÒÔʹÓÃexternÕâ¸ö¹Ø¼ü×Ö£¬×¢ÒâÕâÀïÄܳɹ¦ÒýÓõÄÔ­ÒòÊÇ£¬numÕâ¸ö¹Ø¼ü×ÖÔÚb.cÖÐÊÇÒ»¸öÈ«¾Ö±äÁ¿£¬Ò²¾ÍÊÇ˵ֻÓе±Ò»¸ö±äÁ¿ÊÇÒ»¸öÈ«¾Ö±äÁ¿Ê±£¬extern±äÁ¿²Å»áÆð×÷Óã¬ÏòÏÂÃæÕâÑùÊDz»Ðеġ£

mian.c

#include<stdio.h>
int main()
{
extern int num;
printf("%d",num);
return 0;
}

b.c

#include<stdio.h>
void func()
{
int num = 5;
printf("fun in a.c");
}

ÁíÍ⣬extern¹Ø¼ü×ÖÖ»ÐèÒªÖ¸Ã÷ÀàÐͺͱäÁ¿Ãû¾ÍÐÐÁË£¬²»ÄÜÔÙÖØÐ¸³Öµ£¬³õʼ»¯ÐèÒªÔÚÔ­ÎļþËùÔÚ´¦½øÐУ¬Èç¹û²»½øÐгõʼ»¯µÄ»°£¬È«¾Ö±äÁ¿»á±»±àÒëÆ÷×Ô¶¯³õʼ»¯Îª0¡£ÏñÕâÖÖд·¨ÊDz»Ðеġ£

extern int num=4;

 

µ«ÊÇÔÚÉùÃ÷Ö®ºó¾Í¿ÉÒÔʹÓñäÁ¿Ãû½øÐÐÐÞ¸ÄÁË£¬ÏñÕâÑù£º

#include<stdio.h>
int main()
{
extern const int num;
printf("%d",num);
return 0;
}

Èç¹û²»ÏëÕâ¸ö±äÁ¿±»Ð޸ĿÉÒÔʹÓÃconst¹Ø¼ü×Ö½øÐÐÐÞÊΣ¬Ð´·¨ÈçÏ£º

mian.c

#include<stdio.h>

int main()
{
extern const int num;
printf("%d",num);
return 0;
}

b.c

#include<stdio.h>
const int num=5;
void func()
{
printf("fun in a.c");
}

ʹÓÃinclude½«ÁíÒ»¸öÎļþÈ«²¿°üº¬½øÈ¥¿ÉÒÔÒýÓÃÁíÒ»¸öÎļþÖеıäÁ¿£¬µ«ÊÇÕâÑù×öµÄ½á¹û¾ÍÊÇ£¬±»°üº¬µÄÎļþÖеÄËùÓеıäÁ¿ºÍ·½·¨¶¼¿ÉÒÔ±»Õâ¸öÎļþʹÓã¬ÕâÑù¾Í±äµÃ²»°²È«£¬Èç¹ûÖ»ÊÇÏ£ÍûÒ»¸öÎļþʹÓÃÁíÒ»¸öÎļþÖеÄij¸ö±äÁ¿»¹ÊÇʹÓÃextern¹Ø¼ü×Ö¸üºÃ¡£

Èý¡¢ÒýÓÃÁíÒ»¸öÎļþÖеĺ¯Êý

extern³ýÁËÒýÓÃÁíÒ»¸öÎļþÖеıäÁ¿Í⣬»¹¿ÉÒÔÒýÓÃÁíÒ»¸öÎļþÖеĺ¯Êý£¬ÒýÓ÷½·¨ºÍÒýÓñäÁ¿ÏàËÆ¡£

mian.c

#include<stdio.h>
int main()
{
extern void func();
func();
return 0;
}

b.c

#include<stdio.h>
int main()
{
extern void func();
func();
return 0;
}

ÕâÀïmainº¯ÊýÖÐÒýÓÃÁËb.cÖеĺ¯Êýfunc¡£ÒòΪËùÓеĺ¯Êý¶¼ÊÇÈ«¾ÖµÄ£¬ËùÒÔ¶Ôº¯ÊýµÄexternÓ÷¨ºÍ¶ÔÈ«¾Ö±äÁ¿µÄÐÞÊλù±¾Ïàͬ£¬ÐèҪעÒâµÄ¾ÍÊÇ£¬ÐèÒªÖ¸Ã÷·µ»ØÖµµÄÀàÐͺͲÎÊý¡£

   
3387 ´Îä¯ÀÀ       28
Ïà¹ØÎÄÕÂ

Éî¶È½âÎö£ºÇåÀíÀôúÂë
ÈçºÎ±àд³öÓµ±§±ä»¯µÄ´úÂë
ÖØ¹¹-ʹ´úÂë¸ü¼ò½àÓÅÃÀ
ÍŶÓÏîÄ¿¿ª·¢"±àÂë¹æ·¶"ϵÁÐÎÄÕÂ
Ïà¹ØÎĵµ

ÖØ¹¹-¸ÄÉÆ¼ÈÓдúÂëµÄÉè¼Æ
Èí¼þÖØ¹¹v2
´úÂëÕû½àÖ®µÀ
¸ßÖÊÁ¿±à³Ì¹æ·¶
Ïà¹Ø¿Î³Ì

»ùÓÚHTML5¿Í»§¶Ë¡¢Web¶ËµÄÓ¦Óÿª·¢
HTML 5+CSS ¿ª·¢
ǶÈëʽC¸ßÖÊÁ¿±à³Ì
C++¸ß¼¶±à³Ì