亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C語言變量和全局變量能否重名問題

 更新時(shí)間:2024年08月21日 09:02:12   作者:Code repairman  
這篇文章主要介紹了C語言變量和全局變量能否重名問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

C語言變量和全局變量能否重名

解答

全局變量和局部變量是按照變量的作用域劃分的。

簡(jiǎn)單地說,局部變量是定義在函數(shù)內(nèi)部的變量;全局變量是定義在函數(shù)之外的變量。

全局變量可以為本文件中其他函數(shù)所共用。

局部變量和全局變量可以重名,局部變量會(huì)屏蔽全局變量。要使?全局變量,要在變量名前添加" :: "。

心得

局部變量和全局變量是可以重名的,因?yàn)樗鼈兊淖饔糜虿煌?/p>

在函數(shù)中,默認(rèn)使用的是局部變量。

全局變量和局部變量重名了會(huì)怎么樣

在交流群里面看到這樣一個(gè)問題:

為什么這個(gè)程序中下面我定義的void型函數(shù)smart在全局變量前聲明了,但是在man函數(shù)中調(diào)用了smart函數(shù),m的值打印出來還是0。

#include<stdio.h>

int m;
void smart(void);

int main(void)
{
	printf("m = %d.\n", m);
	smart();
	printf("m = %d.\n", m);
	//m+=1;
	//printf("m = %d.\n", m);
	
	
	return 0;
}

void smart(void)
{
	int m = 25;
	
}

說實(shí)話,這個(gè)問題對(duì)于C語言有一個(gè)簡(jiǎn)單理解的肯定明白問題在哪里。但是,群里面人講了半天沒講到重點(diǎn),還是有點(diǎn)抓急。有講局部變量函數(shù)執(zhí)行結(jié)束自動(dòng)釋放的,所以全局變量的m沒有被改變。有講作用域不同的。千奇百怪的回答。

因?yàn)?,能夠搜到這篇文章的,大概率都是新手小白,我也就不會(huì)講太深?yuàn)W的東西了,盡量以簡(jiǎn)單易懂的語言講明白。

全局變量和局部變量同名編譯器是如何處理

(1)如果在函數(shù)內(nèi)部同時(shí)存在一個(gè)局部變量和一個(gè)全局變量,它們的名字相同,那么在函數(shù)內(nèi)部使用該變量時(shí),將優(yōu)先使用局部變量。

(2)舉個(gè)現(xiàn)實(shí)生活的例子,兩個(gè)除了長(zhǎng)相不同,其他都一樣的角色。一個(gè)是游戲活動(dòng)期間才能玩的角色A,一個(gè)是你永久擁有的角色B。

  • 雖然他們的數(shù)值是一樣的,但是對(duì)于絕大多數(shù)玩家而言,在活動(dòng)期間大概率還是會(huì)優(yōu)先用限時(shí)角色A。
  • 但是呢,游玩角色,打怪能夠升級(jí)。可是角色A在活動(dòng)結(jié)束之后,就會(huì)消失,那么活動(dòng)期間你所得到的所有經(jīng)驗(yàn)值都會(huì)消失。并不會(huì)反饋給永久角色B。
  • 最后,你只能憤憤不平,被官方擺了一套。

(3)根據(jù)上面這個(gè)舉例,我們就很好理解了全局變量和局部變量同名情況了。

對(duì)于計(jì)算機(jī)而言,全局變量和局部變量究竟是什么?

(1)我們都知道,對(duì)于計(jì)算機(jī)而言,他本質(zhì)上只能夠識(shí)別0和1。哪些所謂的代碼,變量名,其實(shí)都是給人類看的。因此,我們?nèi)祟惪吹饺肿兞亢途植孔兞棵忠粯?,但是?duì)于計(jì)算機(jī)而言是不一樣的。

(2)這個(gè)將人類看的懂的語言,變成計(jì)算機(jī)能夠看懂的01語言需要通過編譯器來決定。

(3)當(dāng)你在代碼中寫了一個(gè)全局變量m和一個(gè)局部變量m。編譯器就會(huì)開辟兩個(gè)不同的地址分別存放全局變量m和局部變量m。

  • 當(dāng)你在smart()函數(shù)調(diào)用m變量的時(shí)候,編譯器就會(huì)告訴機(jī)器,你應(yīng)該操作的是地址A。
  • 當(dāng)smart()函數(shù)調(diào)用結(jié)束的時(shí)候,編譯器就會(huì)告訴機(jī)器,你應(yīng)該操作的是地址B。同時(shí)機(jī)器會(huì)自己將地址A釋放掉。
  • 那么你在地址A做的操作是無效的。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • C語言實(shí)現(xiàn)鏈表與文件存取的示例代碼

    C語言實(shí)現(xiàn)鏈表與文件存取的示例代碼

    這篇文章主要和大家分享C語言實(shí)現(xiàn)鏈表與文件存取的示例代碼,可以實(shí)現(xiàn)建立鏈表,然后把鏈表數(shù)據(jù)存儲(chǔ)到文件中,然后把文件數(shù)據(jù)存儲(chǔ)到數(shù)組中并輸出,感興趣的可以學(xué)習(xí)一下
    2022-04-04
  • Linux下使用C/C++進(jìn)行UDP網(wǎng)絡(luò)編程詳解

    Linux下使用C/C++進(jìn)行UDP網(wǎng)絡(luò)編程詳解

    UDP 是User Datagram Protocol 的簡(jiǎn)稱,中文名是用戶數(shù)據(jù)報(bào)協(xié)議,是一種無連接、不可靠的協(xié)議,本文主要介紹了如何在Linux下使用C/C++進(jìn)行UDP網(wǎng)絡(luò)編程,有需要的可以了解下
    2024-10-10
  • C++?中的類型詳細(xì)

    C++?中的類型詳細(xì)

    這篇文章主要介紹了C++?中的類型,C++的類型很復(fù)雜,往往一個(gè)類型匹配錯(cuò)誤就會(huì)導(dǎo)致程序報(bào)錯(cuò),本篇主要講解一些常用類型的概念以及細(xì)節(jié),需要的朋友可以參考一下,希望對(duì)你有所幫助
    2021-12-12
  • C++中發(fā)聲函數(shù)Beep用法

    C++中發(fā)聲函數(shù)Beep用法

    本文給大家分享的是Beep函數(shù)的用法以及會(huì)使揚(yáng)聲器發(fā)出簡(jiǎn)單的聲音的示例,有需要的小伙伴可以參考下
    2017-05-05
  • C 創(chuàng)建鏈表并將信息存儲(chǔ)在二進(jìn)制文件中讀取的實(shí)例代碼

    C 創(chuàng)建鏈表并將信息存儲(chǔ)在二進(jìn)制文件中讀取的實(shí)例代碼

    C 創(chuàng)建鏈表并將信息存儲(chǔ)在二進(jìn)制文件中讀取的實(shí)例代碼,需要的朋友可以參考一下
    2013-03-03
  • 使用C++一步步實(shí)現(xiàn)俄羅斯方塊后續(xù)

    使用C++一步步實(shí)現(xiàn)俄羅斯方塊后續(xù)

    本文主要給大家分享的是作者在使用C++制作俄羅斯方塊小游戲的時(shí)候所需要的常用的函數(shù),有需要的小伙伴可以借鑒下,希望大家能夠喜歡。
    2017-12-12
  • C++實(shí)現(xiàn)拼圖游戲代碼(graphics圖形庫(kù))

    C++實(shí)現(xiàn)拼圖游戲代碼(graphics圖形庫(kù))

    這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)拼圖游戲代碼,帶有g(shù)raphics圖形庫(kù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • C++實(shí)現(xiàn)延遲的方法詳解

    C++實(shí)現(xiàn)延遲的方法詳解

    這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)延遲的三個(gè)方法,文中的示例代碼講解詳細(xì),對(duì)我們深入了解C++有一定的幫助,感興趣的小伙伴可以學(xué)習(xí)一下
    2022-12-12
  • C++ std:map的使用方法

    C++ std:map的使用方法

    std::map是C++標(biāo)準(zhǔn)庫(kù)中一個(gè)強(qiáng)大而高效的關(guān)聯(lián)容器,本文就來介紹一下C++ std:map的使用方法,具有一定的參考價(jià)值,感興趣的可以了解一下
    2025-02-02
  • C語言實(shí)現(xiàn)簡(jiǎn)單酒店管理系統(tǒng)

    C語言實(shí)現(xiàn)簡(jiǎn)單酒店管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)簡(jiǎn)單酒店管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03

最新評(píng)論