[cpp]
#include "stdio.h"
#include <string>
int add()
{
int a ;
int b = 2;
a = a+b;
printf("%d\n", a);
return 0;
}
void cat()
{
char st1[] = "bbbbbbb";
char tt[50];
strcat(tt, st1);
printf("%s\n",tt);
}
int main()
{
//循環體內定義在編譯的時候只定義一次,空間是同一個空間
for (int j=0; j<2; j++)
{
char st1[] = "bbbbbbb";
char tt[50];
strcat(tt, st1);
printf("循環內%s\n",tt);
}
printf("\n");
//地址空間沒有變化,但內容清空了,很神奇!???????????????!!
for (int i=0; i<3; i++)
{
cat();
add();
}
printf("\n");
//出了循環體,地址空間被清空。
//對於方法如果不清空,變量是在同一個空間上的。
cat();
cat();
{
cat();
}
printf("\n");
//不通作用域同名變量空間不通
{
char st1[] = "bbbbbbb";
char tt[50];
strcat(tt, st1);
printf("小作用域1%s\n",tt);
}
{
char st1[] = "bbbbbbb";
char tt[50];
strcat(tt, st1);
printf("小作用域2%s\n",tt);
}
return 0;
}
定義變量一定要注意初始化,注意清空呀@!