C语言中的标识符作用域
生活随笔
收集整理的這篇文章主要介紹了
C语言中的标识符作用域
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
2018-01-15 創(chuàng)建人:Ruo_Xiao
郵箱:xclsoftware@163.com
程序中該標識符可以使用的區(qū)域。 例如:函數(shù)內(nèi)的局部變量的作用域僅限于函數(shù)體本身。
說明了兩點:
(1)其他的函數(shù)無法通過該變量名訪問它們。
(2)只要分屬不同的作用域,不同的變量可以起相同的名字,并且可以位于相同的地址。
文件作用域、函數(shù)作用域、代碼塊作用域和原型作用域。 標識符聲明的位置決定了其作用域。
任何在所有代碼塊之外聲明的標識符都具有文件作用域。 表示這些標識符從它們的聲明之處直到它所在文件的源文件結(jié)尾處都是可以訪問的。 注意:在頭文件中寫的函數(shù)聲明和變量聲明,其實都是在代碼塊之外,故都具有文件作用域。由于#include指令,故這些聲明的作用域不局限于頭文件中。
只適用于在函數(shù)原型中聲明的參數(shù)名。 原型中,參數(shù)名并非必須,也可以與函數(shù)定義中的參數(shù)名不一樣。但禁止同一函數(shù)原型中用相同的變量名。
只適用于語句標簽,語句標簽用于goto語句。 實際意義如下:一個函數(shù)中所有的語句標簽必須唯一。
一、定義
說明了兩點:
(1)其他的函數(shù)無法通過該變量名訪問它們。
(2)只要分屬不同的作用域,不同的變量可以起相同的名字,并且可以位于相同的地址。
二、分類
三、代碼塊作用域
1、位于一對花括號之間的所有語句稱為一個代碼塊。
2、任何在代碼塊開始的位置聲明的標識符都具有代碼塊作用域,表示它們可以被這個代碼塊中所有語句訪問。
3、注意:在嵌套模式下,若內(nèi)層和外層具有相同的變量名,則內(nèi)層變量隱藏外層變量。
4、形參的作用域變遷歷史:
(1)K&R C
形參的作用域開始在形參的聲明處,位于函數(shù)體之外。若函數(shù)體內(nèi)部聲明了名字和形參名相同的局部變量,則它們將隱藏形參。
(2)ANSI C
扼制了K&R C的錯誤,它把形參的作用域設(shè)定到了整個函數(shù)體,故局部變量和形參將無法同名。
栗子:
四、文件作用域
五、原型作用域
六、函數(shù)作用域
總結(jié)
以上是生活随笔為你收集整理的C语言中的标识符作用域的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 字符串和字符数组的关系
- 下一篇: C语言标识符的链接属性