從螢幕讀取變數資料 變數的儲存特性

2021-06-09 04:23:16 字數 1152 閱讀 3834

1. 資料的輸入可利用cin物件結合》運算子完成

語法:cin >> 變數1 >> 變數2 >> 變數n

eg. 

int age; 

cout << "input your age: " << endl;

cin >> age;

2. 變數的儲存特性

資料在記憶體中儲存的方法,c++中提供靜態變數、自動變數、暫存器變數、外部變數4種

a. 自動變數:動態分配儲存空間的,分配和釋放儲存空間是由系統自動處理的,預設是自動變數

b. 靜態變數:若希望函式中區域性變數的值在函式呼叫結束後不消失而保留原值,即其占用的儲存單元不釋放,在下一次函式呼叫時,該變數有值,就是上一次函式呼叫結束時的值。這時應把該變數定義為靜態區域性變數,用static宣告;特性如下:

具有靜態生存期。它的生存期和整個程式的執行期是一樣的,且變數處於記憶體的全域性區,且系統自動將其初始化為0;

只被初始化一次;

函式退出後,靜態區域性變數不被釋放,保留原值。so 下一次進入函式後,靜態區域性變數還能保留它的值。

eg. 

int addcount()

static int count = 100;

count ++;

return count;

函式在第一次呼叫時初始化為100,以後進入時就不再執行count初始化操作了,達到保留原值的目的。

靜態全域性變數只能在下義的它的檔案中可見,其它檔案中不能使用。

c. 外部變數:乙個c++程式可以由乙個或多個源程式檔案組成,雖然靜態全域性變數只能在定義它的檔案中使用,但是非靜態全域性變數卻可以在其它檔案中使用。如果乙個檔案中要引用另乙個檔案中定義的非靜態全域性變數,應該在需要引用它的檔案中用extern作說明

eg. 

1.c:

int a;

main()

2.c:

extern int a;

a 是乙個已在其它檔案中定義過的外部變數,本檔案不必再次為其分配記憶體。本來外部變數的作用域是從它的定義點到檔案結束,但可以用extern說明將其作用域擴大到有extern說明的其它原始檔

d.  暫存器變數

為提高程式執行效率,c++語言允許將變數的值放在運算器的暫存器中,需要時直接從暫存器中取出參加運算,不必再到記憶體中取,這樣就提高執行效率。用關鍵字register作宣告。

變數的儲存型別

曾巨集安,華清遠見嵌入式學院 講師。我們在程式中會經常定義一些變數來儲存和處理資料。從本質上看,變數代表了一段可操作的記憶體,也可以認為變數是記憶體的符號化表示。當程式中需要使用記憶體時,可以定義某種型別的變數。此時編譯器根據變數的資料型別分配一定大小的記憶體空間。程式就可以通過變數名來訪問對應的記...

變數的儲存區

一.在c中分為這幾個儲存區 1.棧 有編譯器自動分配釋放 2.堆 一般由程式設計師分配釋放,若程式設計師不釋放,程式結束時可能由os 3.全域性區 靜態區 全域性變數和靜態變數的儲存是放在一塊的,初始化的全域性變數和靜態變數在一塊區域,未初始化的全域性變數和未初始化的靜態變數在相鄰的 另一塊區域。程...

變數的儲存類別

從變數的作用域來分,變數可以分為全域性變數和區域性變數。在乙個函式內部定義的變數是區域性變數,它只是在本函式範圍內有效,在此函式外不能使用這些變數的。全域性變數可以供所有函式共用,它的有效範圍為從定義變數的位置開始到本原始檔結束。全域性變數的優點是 可以減少函式實參和形參的個數,從而減少記憶體空間以...