變量做用域:變量的可用範圍函數
按照做用域的不一樣,變量能夠分爲:局部變量和全局變量生命週期
特色:不一樣做用內出現同名變量,內部做用域的變量會覆蓋外部做用的變量作用域
局部變量:定義在函數內部的變量以及函數的形參稱爲局部變量變量
做用域:從定義哪一行開始直到與其所在的代碼塊結束程序
生命週期:從程序運行到定義哪一行開始分配存儲空間到程序離開該變量所在的做用域文件
特色:return
一、相同做用域內不能夠定義同名變量printf
二、不一樣做用範圍能夠定義同名變量,內部做用域的變量會覆蓋外部做用域的變量系統
Int main(){
int age = 5;
if(age==5){
int height = 1;
}// height的做用域在此處就結束了
printf(「年齡爲:%d」,age);//對
printf(「身高爲:%d」,height);//錯
}
Int main(){
char *home = 「你家」;
char *harry = 「外邊的流浪狗」;
if(strcmp(home,」你家」)==0){
char *harry= 「大家家的狗」;
printf(「harry = %s」,harry);
//輸出 大家家的狗
}
}
全局變量:定義在函數外邊的變量稱爲全局變量
做用域範圍:從定義哪行開始直到文件結尾
生命週期:程序一啓動就會分配存儲空間,直到程序結束
存儲位置:靜態存儲區
Int num = 10 //定義全局變量
Int sum(int v1,int v2){
printf(「num = %d」,num);
return v1 + v2;
}
定義的格式:變量類型 變量名 = 初始化值;
變量名 = 初始化值
//省略類型,默認該變量爲 int 類型
聲明的格式:變量類型 變量名,能夠屢次聲明
.全局變量若僅僅聲明沒有定義,則系統會按照聲明的類型將其初始化爲0