C++變數總結束 | 輸出各種變數的值

C語言入門到精通發表於2020-11-30

C++register暫存器變數

變數除了資料型別以外,還有3種屬性:

儲存類別,C++允許使用auto,static,register和extern4種儲存類別。
作用域,指程式中可以引用該變數的區域。
儲存期,指變數在記憶體的儲存期限。

auto, static和register3種儲存類別只能用於變數的定義語句中。

auto char character1;//字元型自動變數,在函式內定義
static int number1;//靜態區域性整型變數
register int number2;//整型暫存器變數,在函式內定義
extern int  number3;//宣告一個已定義的外部整型變數

從作用域角度分,有區域性變數和全域性變數。

區域性變數

自動變數,即動態區域性變數
動態區域性變數
暫存器變數
形式引數

全域性變數

靜態外部變數
外部變數

從變數儲存期來區分,有動態儲存和靜態儲存兩種型別

動態儲存

自動變數
暫存器變數
形式引數

靜態儲存

靜態區域性變數
靜態外部變數
外部變數

從變數值存放的位置來區分,可分為

記憶體中靜態儲存區

靜態區域性變數
靜態外部變數
外部變數

記憶體中動態儲存區,自動變數和形式引數 。
CPU 中的暫存器,暫存器變數。

C++中一個函式一般由:宣告部分、執行語句兩部分組成,宣告部分的作用是對有關的識別符號的屬性進行說明,對於函式,宣告和定義的區別是明顯的,函式的宣告是函式的原型,而函式的定義是函式功能的確立。

對函式的宣告是可以放在宣告部分中的,而函式的定義顯然不在函式的宣告部分範圍內,它是一個檔案中 的獨立模組。

對變數而言,宣告與定義的關係稍微複雜一些。在宣告部分出現的變數有兩種情況:一種是需要建立儲存空間的;另一種是不需要建立儲存空間的。

經典案例:C++輸出各種變數。

原始碼分析:

#include<iostream>//標頭檔案 
using namespace std;//名稱空間 
int main()//主函式 
{
  auto int num1=1;
  static int num2=2; 
  register int num3=3;
  cout<<num1<<endl;
  cout<<num2<<endl;
  cout<<num3<<endl;
  return 0;//函式返回值為0 
}

編譯後的結果:

1
2
3

--------------------------------
Process exited after 1.476 seconds with return value 0
請按任意鍵繼續. . .

C++輸出各種變數的值

更多案例可以go公眾號:C語言入門到精通

相關文章