1. 程式人生 > >C語言中的四種作用域

C語言中的四種作用域

C語言編譯器可以確認四種不同型別的作用域:

一.程式碼塊作用域。

在K&R C中,函式形參的作用域始於形參的宣告處,位於函式體之外如果函式體內部聲明瞭名字相同的區域性變數,他們就將隱藏起來;ANSI C遏止了這種錯誤的可能性,它把形參的作用域設定為整個函式體。

二.檔案作用域。

任何在程式碼塊之外宣告的識別符號都具有檔案作用域。但是在同文件中編寫的通過include指令包含到其他檔案中的宣告,就好像直接寫在那些檔案中一樣,它們的作用域不限於標頭檔案的檔案尾。

三.原型作用域(即函式體去掉程式碼塊的部分)。

只適用於在函式原型中宣告的引數。唯一可能出現的衝突就是在同一個原型中,不止一次地使用同一個名字。

四.函式作用域。

它只適用於語句標籤,語句標籤用於go語句。一個函式中的所有語句標籤必須唯一。

相關推薦

C語言變數的作用與儲存型別

1.      全域性變數與區域性變數 任何函式或變數均只能定義一次,可宣告多次。定義在程式碼塊之內(函式塊內)的變數為區域性變數,定義在函式外部的變數為全域性變數,作用範圍是整個專案(不單單是本檔案),因此也不能在其它檔案中再次定義同名變數,函式也是如此。 2.     

C語言作用

C語言編譯器可以確認四種不同型別的作用域: 一.程式碼塊作用域。 在K&R C中,函式形參的作用域始於形參的宣告處,位於函式體之外如果函式體內部聲明瞭名字相同的區域性變數,他們就將隱藏起來;ANSI C遏止了這種錯誤的可能性,它把形參的作用域設定為整個函式體。

講解JSP作用

答:JSP中的四種作用域包括page、request、session和application,具體來說: page代表與一個頁面相關的物件和屬性。 request代表與Web客戶機發出的一個請求相關的物件和屬性。一個請求可能跨越多個頁面,涉及多個Web元件;需要在頁面顯示的

c語言典型的排列組合算法

scan .com nbsp 方法 can main else const 組合數 c語言中的全排列算法和組合數算法在實際問題中應用非常之廣,但算法有許許多多,而我個人認為方法不必記太多,最好只記熟一種即可,一招鮮亦可吃遍天 全排列: #include<stdio.h

Bean的作用

Bean的作用域 當開發者定義Bean的時候,同時也會定義了該如何建立Bean例項。這些具體建立的過程是很重要的,因為只有通過對這些過程的配置,開發者才能建立例項物件。 開發者不僅可以控制注入不同的依賴到Bean之中,也可以配置Bean的作用域。這種方法是非常強

servlet的作用

作用域規定的是變數的有效期限   如果把變數放到pageContext裡,就說明它的作用域是page,它的有效範圍只在當前jsp頁面裡。   從把變數放到pageContext開始,到jsp頁面結束,你都可以使用這個變數。  如果把變數放到request裡,就說

java 作用 private 預設 proteted public

首先對於修飾 成員變數 private 只是用與當前類,預設的將範圍擴大到了當前包,protected 擴大到了當前包加子類,public 公共所有。 對於修飾類 只能有public 跟預設。 public  class App  class App 對於方法內的變數,方

C語言程式結構

1、順序結構 順序結構的程式設計是最簡單的,只要按照解決問題的順序寫出相應的語句就行,它的執行順序是自上而下,依次執行。 例如;a = 3,b = 5,現交換a,b的值,這個問題就好像交換兩個杯子水

C語言迴圈的巢狀和比較

1、迴圈的巢狀 一個迴圈體內又包含另一個完整的迴圈結構,稱為迴圈的巢狀。內嵌的迴圈中還可以巢狀迴圈,這就是多層迴圈。各種語言中關於迴圈的巢狀的概念都是一樣的。   C語言中3種迴圈(while迴圈、do…while迴圈和for迴圈)可以互相巢狀。例如,下面幾種都是合法的形式: (1)wh

js作用詳解(全域性,函式,塊級)

1.全域性變數:宣告在函式外部的變數(所有沒有var直接賦值的變數都屬於全域性變數) 2.區域性變數:宣告在函式內部的變數(所有沒有var直接賦值的變數都屬於全域性變數) JS中變數申明分顯式申明和隱

C語言型別所佔位元組數

最近經常會遇到C語言中各型別變數所佔位元組數的問題,索性在這裡做一個整理總結。 其實C標準並沒有具體給出規定哪個基本型別應該是多少個位元組數,而且這個也與OS、編譯器有關,比如同樣是在32位作業系統,VC++的編譯器下int型別為4個位元組,而在tuborC下

C語言輸出除錯資訊的方法

在除錯程式時,輸出除錯資訊是一種普遍、有效的方法。輸出除錯資訊一般有以下五種方法: 方法一:直接使用螢幕列印函式printf。 該方法直接在需要輸出除錯資訊的位置使用函式printf輸出相應的除錯資訊,以及某些關鍵變數的值。我們通過以下求階層的函式fact來看看該方法的除

關於c語言特殊預定義符號的使用

1. 在c語言中,有一些特殊的預定義符號,這些預定義結合使用,會產生非常有趣的事情。下面,介紹一下這些特殊的預定義符號:      _ _FINE_ _   //進行編譯的原始檔      _ _LINE_ _    //檔案被編譯的當前行號      _ _ DATE_

scope的作用的使用

一點 ... truct fin ade register mage 自動 資源 如何使用spring的作用域: <bean id="role" class="spring.chapter2.maryGame.Role" scope="singleton"/>

C語言作用,鏈接屬性和存儲類型

硬件 變量的存儲 bsp 文件的 tro 們的 沒有 聲明 一個 作用域 當變量在程序的某個部分被聲明的時候,他只有在程序的一定漁區才能被訪問,編譯器可以確認4種不同類型的作用域:文件作用域,函數作用域,代碼塊作用域和原型作用域 1.代碼塊作用域:位於一對花括號之間的所

C語言講,typedef 關鍵字,以及作用

pre 如果 訪問 作用域 c語言 pri 代碼 包含 結構         C語言第四講,typedef 關鍵字,以及作用域 一丶typedef關鍵字   在C語言中,有typedef 關鍵字,這個關鍵字的作用就是允許你為類型定義一個新的名字,也就是 起個別的名字 例如:

C語言關鍵詞static的用法與作用

細心 錯誤 不同 color 運行程序 可能 gpo 需要 之間 一、面向過程設計中的static 轉載:http://blog.csdn.net/celerylxq/article/details/6160499 1、靜態全局變量 在全局變量前,加上關鍵字stati

C語言變量、全局變量與變量的作用

www. 但是 表達 之間 範圍 htm target 因此 變量名 什麽是變量: 變量常量都是表征數據的一種形式;常量用來表示數據的值; 變量不僅可以用來表示數據的值;還可以用來存放數據;因為變量對應著一定的內存單元; 變量和常量必須先定義後使用。 變量名和常量名都是一種

C語言的生命週期,作用,預設值,記憶體區域,連結屬性

1、全域性變數:定義在函式外部的變數 生命週期:從程式執行開始建立,程式退出銷燬; 作用域:從定義該變數開始一直到檔案的結束; 預設值:0; 記憶體區域:全域性(靜態)變數區; 連結屬性:外部(可以在其他檔案中引用)。 注意:全域性變數只需在一個原始檔中定義,就可以作用

關於C語言變數作用的個人心得

    這是本人的第一篇部落格,內容簡單總結淺陋。但這會是我寫部落格的開始,好啦!廢話不多說。。。。     學過C語言的同學可能都知道,在C中變數都具有作用域的說法。以下是標準的解釋和案例:    &