一、變量分類:1.局部變量? ? ? 2.全局變量
成都創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比萊州網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式萊州網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋萊州地區(qū)。費用合理售后完善,十余年實體公司更值得信賴。下面一段代碼就可以讓大家清楚知道全局和局部的分布位置
int num2 = 20;//全局變量
int main()
{
int num1 = 10;//局部變量
return 0;
}
全局變量------定義在{? ?}(代碼塊)之外的變量
局部變量-------定義在代碼塊{? }內(nèi)部
那么當(dāng)全局變量和局部變量相同時,然后打印這個變量名,會輸出誰的值呢?
以代碼說話:
int a = 20;
int main()
{
int a = 10;
printf("%d\n", a);
return 0;
}
可以清楚地看到在局部變量與全局變量名字相同時,打印時局部變量優(yōu)先
第二部分:變量的作用域和生命周期
1.局部變量的作用域是變量所在的局部范圍
2.全局變量的作用域時整個工程
int main()
{
int num = 0;
{
printf("num = %d\n", num); //可以打印
}
return 0;
}
int main()
{
{
int num = 0;
}
printf("num = %d\n", num); //不可打印
return 0;
}
從上面的代碼可以看出,局部變量的作用域只有在自己的局部范圍內(nèi)才可以發(fā)揮作用,而全局變量是在任何地方發(fā)揮作用!??!
1.局部變量:進(jìn)入作用域是生命周期的開始,出作用域生命周期結(jié)束
2.全局變量:整個程序的生命周期? ? ? ? ? 與main函數(shù)的生命周期相同
二、常量
像1,2,3,4,,,,6,? -------? ?這些都是字面常量
1.現(xiàn)在給大家介紹一種特殊的常量-------常變量
int main()
{
//const----常屬性
const int num = 4;//const修飾的常變量
printf("%d\n", num);
num = 8;
printf("%d\n", num);
return 0;
}
其中可以看到發(fā)現(xiàn),當(dāng)編譯這個代碼時,會發(fā)現(xiàn)錯誤,原因就是num本質(zhì)是個變量,但是被const修飾,具有常量屬性,所以num的值不可以改變。
那么我們還知道數(shù)組的初始化個數(shù)必須是個常量,比如:arr[n]-------其中的n一定要是個常量才可以,那么num在此時已有常量屬性,那么arr[num]可以嗎?結(jié)果是大錯特錯,雖然這時num已有常量屬性,但它本質(zhì)上還是個變量,所以不能用來初始化數(shù)組。
2.#define定義的標(biāo)識常量
#define MAX 10
int main()
{
int arr[MAX] = { 0 };
return 0;
}
當(dāng)我們編譯上面這個代碼時,會發(fā)現(xiàn)沒有錯誤,因為我們用define定義了一個常量MAX,所以可以用來初始化數(shù)組。
3.枚舉常量
這個可以簡單的給大家介紹一下
"枚舉常量"或稱"枚舉成員",是以標(biāo)識符形式表示的整型量,表示枚舉類型的取值。 枚舉常量表列出枚舉類型的所有取值,各枚舉常量之間以","間隔,且必須各不相同。 取值類型與條件表達(dá)式相同。 枚舉常量代表該枚舉類型的變量可能取的值,編譯系統(tǒng)為每個枚舉常量指定一個整數(shù)值,默認(rèn)狀態(tài)下,這個整數(shù)就是所列舉元素的序號,序號從0開始。
以上是對常量變量的基礎(chǔ)講解,大家有任何不明白的,都可以隨時私信我,而我也會即時給出回復(fù),如果大家對我的內(nèi)容感興趣,可以給我點一下小紅心呦?。?!感謝感謝?。?!
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧