無基礎(chǔ)也能看懂的C語言變量詳解-創(chuàng)新互聯(lián)

變量
  • 一、什么是變量?
  • 二、變量分為哪幾種?
    • 1、局部變量
      • a、局部變量的的定義
    • 1、全局變量及一些需要注意的點(diǎn)
  • 三、局部變量與全局變量的沖突
    • 1,難點(diǎn)理解
  • 總結(jié)

目前創(chuàng)新互聯(lián)已為超過千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬主機(jī)、網(wǎng)站托管維護(hù)、企業(yè)網(wǎng)站設(shè)計(jì)、瑪多網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。一、什么是變量?

1,變量可以保存程序運(yùn)行時用戶輸入的數(shù)據(jù)(可以是一個數(shù)字,也可以是一個字符)
2,變量的創(chuàng)建需要定義類型(int long char double float short)
3,創(chuàng)建變量時,程序會開辟一個空間用于存放賦給變量的值,而且這個空間的值是可以替換的(就相當(dāng)于一杯礦泉水,你可以把礦泉水替換成果汁)

二、變量分為哪幾種?

變量分為局部變量全局變量兩種。

1、局部變量

局部變量的的定義:局部變量是在函數(shù)內(nèi)部定義并使用的變量,它只在函數(shù)內(nèi)部有效。
在語句塊中也可以定義變量,它的作用域(就是該變量的使用范圍,起作用的地方)只限于當(dāng)前語句塊,例如if語句中定義的變量
解析:每個函數(shù)在執(zhí)行時,系統(tǒng)都會為該函數(shù)分配一塊“臨時空間”,該函數(shù)所有的局部變量都保存在其中
當(dāng)函數(shù)執(zhí)行完之后,該空間被釋放,局部變量也就隨之失效,因此離開函數(shù)之后就不能訪問該函數(shù)的局部變量了,否則會有異常信息提示:NameError

a、局部變量的的定義
int main (){int  i = 0;
	//  int  聲明類型是整形
	//   i   變量名
	//   =   賦值(不是相等)將右值賦給左值(就是將右邊的值給左邊的值)

}
1、全局變量及一些需要注意的點(diǎn)

全局變量的定義:在所有函數(shù)外部定義的變量稱為全局變量,它的作用域默認(rèn)是整個程序,也就是整個工程,包括工程下的一些文件(.c .h 文件)

假設(shè)定義了兩個.c文件要在第二個文件中調(diào)用第一個文件的全局變量需要定義,例如:

int i = 1;
//第一個文件中的全局變量
int main(){//第二個文件
	extern int i;  //聲明(意思是在外部文件有一個int i的全局變量,在這里說明,之后就可以使用了)
}

需要注意的是:由于C語言是從上到下執(zhí)行的,假如定義兩個函數(shù),函數(shù)1和函數(shù)2,要使全局變量作用于兩個函數(shù),需要在兩個函數(shù)之前定義全局變量
例如:

int i = 0;   //定義在兩個函數(shù)之前才都能被兩個函數(shù)調(diào)用
void game1(){}  //函數(shù)1
void game2(){}  //函數(shù)2
int main(){//主函數(shù)
}
三、局部變量與全局變量的沖突

當(dāng)全局變量與局部變量同名時,局部優(yōu)先
為什么呢?因?yàn)樵诰植糠秶鷥?nèi)如果局部變量的名稱和全局變量名稱相同時,全局變量會被 “ 屏蔽 ” ,不再起作用。
在C語言中變量的使用遵循就近原則,如果當(dāng)前的作用域存在 同名變量 就不會向更大的作用域?qū)ふ易兞俊?/mark>
值得一提的是{ } 花括號包圍的代碼也擁有獨(dú)立的作用域

1,難點(diǎn)理解

C語言規(guī)定:只能以更小的作用域向更大的作用域中去尋找變量,而不能反過來使用更小作用域中的變量,這個時候就近原則就不管用了。例如以下代碼:

int main(){int i = 22;
	if(1){int i = 0;
	}
	printf("%d",i);  //打印i
}

這時我們看第一個 i == 22 這個 i 的作用域是整個main 函數(shù)
if 里面的 i 作用域是整個if
我們要用printf 打印 i ,而printf 他是在 main 函數(shù)里,printf找這個 i只會向更大的作用域?qū)ふ?/mark>
有的人這時候就有疑問了。 if 的作用域不是比 printf要大嗎?雖然是,但是if結(jié)束變量 i 也會銷毀,所以這里只能尋找 main 函數(shù)的變量i

總結(jié)

以上就是今天要講的內(nèi)容,希望大家對C“語言中的變量有一個更深的理解。

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧

本文題目:無基礎(chǔ)也能看懂的C語言變量詳解-創(chuàng)新互聯(lián)
網(wǎng)頁鏈接:http://muchs.cn/article18/ddojdp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版網(wǎng)站營銷、服務(wù)器托管微信公眾號、做網(wǎng)站網(wǎng)頁設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司