一膊畴、概念
/*
局部變量
概念 : 局部變量 就是定義在函數(shù),代碼塊和函數(shù)星燦烈表中的變量,我們就稱之為局部變量
作用范圍 : 從定義的那一行開始 一直到 遇到大括號借宿 或者return為止
特點 :
相同作用域 范圍不能出現(xiàn)同名的局部變量
不同作用域范圍內(nèi) 出現(xiàn)同名的局部變量掘猿,內(nèi)部的局部變量 會覆蓋外部的局部變量
注意 :
局部變量沒有固定的初始化值,如果沒有對局部變量進行初始化,那么局部變量中是一些隨機的值,所以在開發(fā)中,千萬不要使用未初始化的局部變量
存儲位置:
局部變量 存儲在棧中, 當作用域結(jié)束 系統(tǒng)會自動釋放 棧中的局部變量
全局變量
概念 : 寫在函數(shù),代碼塊,形參列表外的變量,我們稱之為全局變量
作用范圍 : 從定義的那一行 開始 一直 遇到大括號結(jié)束(暫時這樣認為)
特點 :
全局變量 和局部變量 可以同名
如果存在 和全局變量同名的局部變量,那么局部變量會覆蓋全局變量
注意 :
全局變量如果沒有進行初始化,那么系統(tǒng)默認會將全局變量初始化為0
存儲位置 :
全局變量 存儲在 靜態(tài)區(qū)中, 他會隨著程序的啟動而創(chuàng)建,隨著程序的結(jié)束而結(jié)束
*/
二、代碼
#include <stdio.h>
int num; // 全局變量 num = 0
void test();
void test1();
int main()
{
/*
int num = 10;
{
int a = 55;
int num = 20;
printf("num = %i\n",num);
}
int a = 55;
int b;
printf("b = %i\n",b);
*/
/*
int num;
num = 10; // 訪問的局部變量的num
printf("num = %i\n",num); // 10
test1();
printf("num = %i\n",num); // 10
*/
test1();
test1();
return 0;
}
void test1()
{
// printf("num = %i\n",num); // 訪問的是全局變量
// num = 222;
num++;
printf("num = %i\n",num); // 訪問的是全局變量
}
void test(int v1)
{
// printf("num = %i\n",num);
// int v1 = 55;
}
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者