在C語(yǔ)言中,這取決于如何放置全局變量和局部變量。如果將全局變量和局部變量放在一個(gè)代碼文件中,則會(huì)發(fā)生沖突。所以不明顯,我將編寫(xiě)一個(gè)C程序代碼,如下圖所示:
創(chuàng)新互聯(lián)建站是一家專業(yè)從事成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、網(wǎng)頁(yè)設(shè)計(jì)的品牌網(wǎng)絡(luò)公司。如今是成都地區(qū)具影響力的網(wǎng)站設(shè)計(jì)公司,作為專業(yè)的成都網(wǎng)站建設(shè)公司,創(chuàng)新互聯(lián)建站依托強(qiáng)大的技術(shù)實(shí)力、以及多年的網(wǎng)站運(yùn)營(yíng)經(jīng)驗(yàn),為您提供專業(yè)的成都網(wǎng)站建設(shè)、營(yíng)銷型網(wǎng)站建設(shè)及網(wǎng)站設(shè)計(jì)開(kāi)發(fā)服務(wù)!在這個(gè)C程序中,我在main函數(shù)外定義了一個(gè)全局變量para,并給出一個(gè)初始值1。在C程序的主函數(shù)中,我定義了一個(gè)變量para,它與主函數(shù)外的變量同名。
這里,C程序主函數(shù)外的變量的生命周期在整個(gè)代碼中是有效的,而主函數(shù)的變量只在主函數(shù)中有效。
也就是說(shuō),當(dāng)您在C程序的主函數(shù)中操作para變量時(shí),實(shí)際上是在主函數(shù)中操作變量,而外部para變量的值仍然是1。在這個(gè)C程序中,main函數(shù)中的para變量隱藏了外部變量para。
因此,學(xué)生在學(xué)習(xí)C語(yǔ)言時(shí),必須注意全局變量被同名局部變量覆蓋的問(wèn)題,還要了解變量的范圍和生命周期。
在單片機(jī)中,一個(gè)全局變量,在中斷中改變它的值供主程序使用,在使用之后,能不能在將這個(gè)全局變量變?yōu)槌跏嫉模?p>也許我的理解有點(diǎn)偏頗。如果希望避免在主程序中使用全局變量時(shí)更改它,可以這樣處理:只需定義另一個(gè)變量。在主程序中,首先將中斷中的全局變量分配給新添加的變量,然后進(jìn)行相應(yīng)的處理。如果希望在主程序中用完此變量,然后初始化此值。使用此值時(shí),可以關(guān)閉相應(yīng)的中斷(或更改相應(yīng)的標(biāo)志位,以確保中斷發(fā)生時(shí)不會(huì)修改全局變量),用完它,重新初始化此值,然后打開(kāi)中斷(或設(shè)置相應(yīng)的標(biāo)志位)