bashÀÔÚº¯ÊýÄÚ²¿£¬declare variableºÍlocal variable¶¼ÊÇÏÞ¶¨×÷ÓÃÓÚ£¬ÄÇËüÃÇÓÐʲôÇø±ð£¿ ʲôʱºòÓÃdeclare,ʲôʱºòÓÃlocalÄØ£¿
#include
x=f1(2)+f1(2) y=f2(2)+f2(2) int f1(n) { int i=1; n+=i; return n; } int f2(n) { static int i=1; n+=i; return n; } x£½£¿,y£½£¿
¼ÙÉèÓÐÒ»º¯Êý£¬¶¨ÒåÈçÏ£º char *func() { char array[10]; memset(array,0,sizeof(array)); strcpy(array,"12"); return array; } ÔÚÁíÍâÒ»¸öº¯ÊýÀïÓÐÏÂÃæµÄÓï¾ä: char array[100]; memset(array,0,sizeof(array)); strcpy(array,func()); ÇëÎÊÔÚstrcpyʱfuncµÄ¾Ö²¿Êý×é±äÁ¿»á±»ÊÍ·ÅÂð?
[CODE] #!/usr/local/bin/perl use vars qw($gloabl_1 $gloabl_2); $gloabl_1 = 1000; for ( my $gloabl_1 = 0; $gloabl_1 < 10; $gloabl_1++) { print $gloabl_1; #Èç¹ûÏ뽫¾Ö²¿±äÁ¿my $gloabl_1¼ÓÉÏÈ«¾Ö±äÁ¿$gloabl_1ÈçºÎ°ì£¿ } print "\n=======\n"; print $gloabl_1; [/CODE]
[code] char *test(){ char *tmp="test";//tmpÒ²ÊǾֲ¿±äÁ¿£¬Ôõô¿ÉÒÔ·µ»Ø£¿Ëü¸úchar tmp2[]="test2"µÄÇø±ðÔÚÄÇÀ return tmp; } [/code]
Ò»¸ö¿ÉÖ´ÐгÌÐòÖУ¬.data¶Î´æ·Å³õʼ»¯µÄÊý¾Ý£¬.bss¶Î´æ·Åδ³õʼ»¯µÄÊý¾Ý¡£
¿ÉÊǾֲ¿±äÁ¿È´Ö±½ÓÒÔÖ¸ÁîµÄÐÎʽдµ½ÁË´úÂëÖУº
Õâ¸ö¼òµ¥µÄ³ÌÐò£º
[quote]#include