c語言的變數

2021-06-10 08:48:30 字數 673 閱讀 4671

資料變數的三個屬性:作用域、連線屬性和儲存型別。程式**中的變數在編寫是要考慮三個屬性,同時程式要經歷編譯,鏈結和執行時的記憶體分配。

1.作用域:在編譯時有四種不同型別的作用域---檔案作用域,函式作用域,**塊作用域和原型作用域

1)、**塊作用域:{}內的**段。

2)、檔案作用域:以檔案為單位,可以通過#include<>來訪問其他檔案。

3)、原型作用域:只適用於函式中的引數。

4)、函式作用域:它只適用於語句標籤,goto。

2.連線屬性:當程式編譯成許多模組需要連線,變數的連線屬性需要關心。連線屬性有三類——external,internal和none。

3.儲存型別:儲存變數——普通記憶體、執行時堆疊和硬體暫存器。

1)、凡是**塊以外的宣告的變數總是儲存在靜態記憶體中(靜態變數),靜態變數的記憶體分配在程式執行前分配

2)、凡是在**段的以內預設分配的變數在執行時中的堆疊分配,但可以通過static自動變為靜態變數。

4.static關鍵字

1.當它用於函式定義時,或用於**塊外的變數宣告時,static關鍵字用於修改識別符號鏈結屬性,從external改為internal,但識別符號的儲存型別和作用域不受影響。

2.當它用於**塊內部時,static關鍵字用於修改變數的儲存型別,從自動變數修改為靜態變數,單變數的連線屬性和作用域不受影響。

C語言的變數

1 變數的資料型別 整型等 2 變數的作用域 區域性變數和全域性變數 3 數量的儲存型別 register static auto 當乙個可執行檔案被執行 a.out 即建立乙個程序。此時,系統會為程序分配活動空間,此空間一般為虛擬空間,一般為4gb。作業系統不會通過完整對映將虛擬記憶體對映到物理聶...

c語言的變數

在程式執行期間,由系統分配固定的儲存空間 全域性變數全部是靜態儲存。程式開始時給全域性變數分配儲存空間,結束時釋放。在程式執行期間,根據需要進行動態的分配儲存空間方式。一般在函式呼叫前後分配和釋放。a 函式形參,在呼叫前沒有儲存空間,呼叫時分配儲存空間。b 函式中定義的沒有用static宣告的變數 ...

C語言 變數

整形變數的定義 有符號 int a int a 有符號整形 範圍 0 2 32 long int a long a 有符號長整形 範圍 0 2 32 short ing a short a 有符號短整型 範圍 0 2 16 無符號unsigned int a unsigned a 無符號整形 範圍 ...