日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

C语言中的标识符作用域

發(fā)布時間:2024/10/14 编程问答 69 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言中的标识符作用域 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
2018-01-15 創(chuàng)建人:Ruo_Xiao 郵箱:xclsoftware@163.com

一、定義

  • 程序中該標識符可以使用的區(qū)域。
  • 例如:函數(shù)內(nèi)的局部變量的作用域僅限于函數(shù)體本身。
    說明了兩點:
    (1)其他的函數(shù)無法通過該變量名訪問它們。
    (2)只要分屬不同的作用域,不同的變量可以起相同的名字,并且可以位于相同的地址。
  • 二、分類

  • 文件作用域、函數(shù)作用域、代碼塊作用域和原型作用域。
  • 標識符聲明的位置決定了其作用域。
  • 三、代碼塊作用域

    1、位于一對花括號之間的所有語句稱為一個代碼塊。
    2、任何在代碼塊開始的位置聲明的標識符都具有代碼塊作用域,表示它們可以被這個代碼塊中所有語句訪問。
    3、注意:在嵌套模式下,若內(nèi)層和外層具有相同的變量名,則內(nèi)層變量隱藏外層變量。
    4、形參的作用域變遷歷史:
    (1)K&R C
    形參的作用域開始在形參的聲明處,位于函數(shù)體之外。若函數(shù)體內(nèi)部聲明了名字和形參名相同的局部變量,則它們將隱藏形參。
    (2)ANSI C
    扼制了K&R C的錯誤,它把形參的作用域設(shè)定到了整個函數(shù)體,故局部變量和形參將無法同名。
    栗子:

    int add(int a,int b) {int a = 3; //error C2082: 形參“a”的重定義return (a+b); }

    四、文件作用域

  • 任何在所有代碼塊之外聲明的標識符都具有文件作用域。
  • 表示這些標識符從它們的聲明之處直到它所在文件的源文件結(jié)尾處都是可以訪問的。
  • 注意:在頭文件中寫的函數(shù)聲明和變量聲明,其實都是在代碼塊之外,故都具有文件作用域。由于#include指令,故這些聲明的作用域不局限于頭文件中。
  • 五、原型作用域

  • 只適用于在函數(shù)原型中聲明的參數(shù)名。
  • 原型中,參數(shù)名并非必須,也可以與函數(shù)定義中的參數(shù)名不一樣。但禁止同一函數(shù)原型中用相同的變量名。
  • 六、函數(shù)作用域

  • 只適用于語句標簽,語句標簽用于goto語句。
  • 實際意義如下:一個函數(shù)中所有的語句標簽必須唯一。
  • 總結(jié)

    以上是生活随笔為你收集整理的C语言中的标识符作用域的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。