c語言局部變量和全局變量可以同名嗎


  C語言中全局變量和局部變量的區別是他們的作用域不同,全局變量是整個C程序,局部變量是定義所在的大括號內,同一個作用域內不能定義兩個同類型同名的變量,因為編譯會報錯。 

  由1個或者多個C文件組成的工程中,可以定義和全局變量同名同類的局部變量,但是不提倡這樣使用,因為此時變量的值和變量被調用的位置有關系。

  使用全局變量時,需要先用extern關鍵字聲明,全局函數也是用相同的關鍵字。

  

  順便復習static關鍵字:

  static主要定義全局靜態變量、定義局部靜態變量、定義靜態函數。

特點\用法  定義全局靜態變量  定義局部靜態變量  定義靜態函數
內存  全局數據區分配  全局數據區分配  無
作用域  文件內定義開始到文件結束,其他文件不可用,不可繼承,其他文件可以定義重名變量  函數內定義開始到函數結束  文件內定義開始到文件結束
可見域  文件內定義開始到文件結束  函數內定義到文件結束,局部可用,但是全局可見,局部函數返回其值可見  文件內定義開始到文件結束

  

參考博客地址:https://blog.csdn.net/guotianqing/article/details/79828100


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM