輸入變數名

變數來源於數學,是計算機語言中能儲存計算結果或表示值的抽象概念。變數可以通過變數名訪問。變數的創建、聲明、調用都需要通過變數名來實現。電腦程式中參數選擇的實現需要輸入回響的變數名。

基本介紹

  • 中文名:輸入變數名
  • 外文名:input variable name
  • 領域:計算機
  • 變數名:與變數一一對應,實現快速訪問
  • 作用:選擇需要訪問的變數或參數
變數介紹,命名規則,聲明變數,存儲類型,

變數介紹

由於變數讓你能夠把程式中準備使用的每一段數據都賦給一個簡短、易於記憶的名字,因此它們十分有用。變數可以保存程式運行時用戶輸入的數據(如使用InputBox函式在螢幕上顯示一個對話框,然後把用戶鍵入的文本保存到變數中)、特定運算的結果以及要在窗體上顯示的一段數據等。簡而言之,變數是用於跟蹤幾乎所有類型信息的簡單工具。
變數聲明後沒有賦值的話 編譯器會自動提示並賦予默認值
變數是一種使用方便的占位符,用於引用計算機記憶體地址,該地址可以存儲Script運行時可更改的程式信息。例如,可以創建一個名為Click Count的變數來存儲用戶單擊Web頁面上某個對象的次數。使用變數並不需要了解變數在計算機記憶體中的地址,只要通過變數名引用變數就可以查看或更改變數的值。在VB Script中只有一個基本數據類型,即Variant,因此所有變數的數據類型都是Variant。
聲明變數
聲明變數的一種方式是使用Dim語句、Public語句和Private語句在Script中顯式聲明變數。例如:
Dim Degrees Fahrenheit
聲明多個變數時,使用逗號分隔變數。例如:
Dim Top, Bottom, Left, Right
另一種方式是通過直接在Script中使用變數名這一簡單方式隱式聲明變數。這通常不是一個好習慣,因為這樣有時會由於變數名被拼錯而導致在運行Script時出現意外的結果。因此,最好使用Option Explicit語句顯式聲明所有變數,並將其作為Script的第一條語句。

命名規則

首先,我們必須給變數取一個合適的名字,就好像每個人都有自己的名字一樣,否則就難以區分了。在VB6中,變數的命名必須遵循以下規則:
(1)變數名必須以字母或下劃線打頭,名字中間只能由字母、數字和下劃線“_”組成;最後一個字元可以是類型說明符;
(2)變數名的長度不得超過255個字元;
(3)變數名在有效的範圍內必須是唯一的。有效的範圍就是引用變數可以被程式識別、使用的作用範圍——例如一個過程、一個窗體等等。有關引用變數作用範圍的內容,將在以後介紹。
(4)變數名不能是VB中的保留字(關鍵字),也不能是末尾帶類型說明符的保留字,但可以把保留字嵌入變數名, 關鍵字是指VB6語言中的屬性、事件、方法、過程、函式等系統內部的標識符。如已經定義的詞(if、endif、while、loop等)、函式名(len、format、msgbox等)。像Print、Print$是非法的,而Myprint是合法的。 例如: strName1,intMax_Length,intLesson,strNo3等是合法的變數名,而A&B,all right,3M,_Number等是非法的變數名。
注意:
(1)變數名在VB中是不區分大小寫的(如ABC、aBc、abc等都是一樣的)。C語言中區分大小寫。不同的語言有不同的規則。
(2)定義和使用變數時,通常要把變數名定義為容易使用閱讀和能夠描述所含數據用處的名稱,而不要使用一些難懂的縮寫如A或B2等。例如:假定正在為水果鋪編一個銷售蘋果的軟體。我們需要兩個變數來存儲蘋果的價格和銷量。此時,可以定義兩個名為Apple_Price和Apple_Sold的變數。每次運行程式時,用戶就這兩個變數提供具體值,這樣看起來就非常直觀。具體方法是:通過用一個或多個單詞組成有意義的變數名來使變數意義明確。例如,變數名SalesTaxRate就比Tax或Rate的意義明確得多。
(3)根據需要混合使用大小寫字母和數字。一個合理協定是,變數中每個單詞的第一個字母大寫,例如:DateOfBirth。
(4)另一個合理協定是,每個變數名以兩個或三個字元縮寫開始,這些字元縮寫對應於變數要存儲數據的數據類型。例如,使用strName來說明Name變數保存字元串型數據。這種命名方法叫匈牙利命名法
格式 變數類型 + 變數名字
比如剛才說的strname "str" 是"string"的縮寫 "Name" 則是變數名字
注意 變數類型都是小寫 而且變數名字是開頭大寫
雖然無須過多地關注字元縮寫的細節,但以後還是需要看一下這方面的約定。在Visual Basic在線上幫助和許多Visual Basic高級編程的書籍中都可以找到這一約定的細節。

聲明變數

變數在使用前,必須在代碼中進行聲明,即創建該變數。
在使用變數之前,大多數語言通常首先需要聲明變數。就是說,必須事先告訴編譯器在程式中使用了哪些變數,及這些變數的數據類型以及變數的長度。這是因為在編譯程式執行代碼之前編譯器需要知道如何給語句變數開闢存儲區,這樣可以最佳化程式的執行。
聲明變數有兩種方式分別是隱式聲明、顯式聲明。
隱式聲明:
變數可以不經聲明直接使用,此時VB給該變數賦予預設的類型和值。這種方式比較簡單方便,在程式代碼中可以隨時命名並使用變數,但不易檢查。
顯式聲明:
用聲明語句創建變數。
強制顯式聲明變數:
為了避免寫錯變數名引起的麻煩,用戶可以規定,只要遇到一個未經明確聲明就當成變數的名字,VB都發出錯誤警告。方法是----強制顯式聲明變數。要強制顯式聲明變數,只須在類模組、窗體模組標準模組的聲明段中加入這條語句:
Option Explicit
這條語句是用來規定在本模組中所有變數必須先聲明再使用,即不能通過隱式聲明來創建變數。在添加Option Explicit語句後,VB將自動檢查程式中是否有未定義的變數,發現後將顯示錯誤信息。
如果要自動插入Option Explicit語句,用戶只要在“工具”選單中選取“選項”命令,然後單擊“選項”對話框中的“編輯器”選項卡,再選中“要求變數聲明”選項
這樣VB就會在任何新模組中自動插入Option Explicit語句,但只會在新建立的模組中自動插入。所以對於已經建立的模組,只能用手工方法向現有模組添加Option Explicit語句(只有再重新啟動VB,這項功能才有效)。

存儲類型

我們在程式中會經常定義一些變數來保存和處理數據。從本質上看,變數代表了一段可操作的記憶體,也可以認為變數是記憶體的符號化表示。當程式中需要使用記憶體時,可以定義某種類型的變數。此時編譯器根據變數的數據類型分配一定大小的記憶體空間。程式就可以通過變數名來訪問對應的記憶體了。
如果說變數的數據類型決定了對應記憶體的大小,那么存儲類型則影響著對應記憶體的使用方式。所謂使用方式,具體說就是在什麼時間、程式的什麼地方可以使用變數,即變數的生命周期和作用域。
先了解一些基本常識。一、在程式運行時記憶體中有三個區域可以保存變數:靜態存儲區、棧(stack)和堆(heap)。二、根據變數定義的位置可分為全局變數(定義在函式體外的變數)和局部變數(定義在函式體內的變數,包括形參)。
所有的全局變數和靜態局部變數(定義時使用關鍵字static)都保存在靜態存儲區,其特點是:在編譯時分配記憶體空間並進行初始化。在程式運行期間,變數一直存在,直到程式結束,變數對應的記憶體空間才被釋放。
而所有的非靜態局部變數(又稱為自動變數)保存在棧(stack)中,其特點是:在變數所在的函式或模組被執行時動態創建,函式或模組執行完時,變數對應的記憶體空間被釋放。換句話說,函式或模組每被執行一次,局部變數就會重新被分配空間。如果變數定義時沒有初始化,那么變數中的值是隨機數。
所有用malloc分配的記憶體(又稱為動態記憶體)都在堆(heap)中,其特點是:一般通過指針來訪問動態分配的記憶體。即可以通過free來手動釋放動態記憶體,也可以在程式結束時由系統自動釋放。
以上討論的是變數的生命周期,下面來看作用域。作用域指的是變數的可見範圍,即在變數的生命周期內,程式的哪些部分可以使用該變數。
全局變數的作用域從定義點開始一直到源檔案的結束。如果要在定義點之前使用全局變數的話就需要使用關鍵字extern對作用域進行擴展。全局變數預設是可以被其他檔案引用的。如果希望僅限於本檔案使用的話,需要在定義時使用關鍵字static。
對於局部變數來說,無論是靜態局部變數還是自動變數,作用域都僅限於定義該變數的函式或模組。
動態記憶體只要沒有被釋放就可以在程式的任何地方使用,前提是要知道動態記憶體的地址。
註:static加在全局變數前影響的是作用域,加在局部變數前影響的是生命周期。

相關詞條

熱門詞條

聯絡我們