C 變數,常量,陣列和字串詳解

2022-09-24 09:24:09 字數 2453 閱讀 7721

目錄

可程式設計裝置包含微處理器和一定數量的臨時儲存空間。臨時儲存器被稱為隨機訪問儲存器(ram)。

ram類似於宿舍裡成排存物櫃的儲存區域,每個存物櫃都有編號,即位址。要訪問特定的記憶體單元,需要使用指令要求處理器從這裡獲取值或寫入值。

微處理器負責執行應用程式,並從ram中獲取要執行的應用程式以及相關聯的資料,包括了顯示到螢幕上的資料和使用者輸入的資料。

顯式地指定用於儲存的記憶體單元的位址,如578,容易出錯,因此產生了變數。

variable_type variable_name;

variable_type variablewww.cppcns.com_name= initial_value;

變數型別向編譯器指出了變數可儲存的資料的性質,變數名替代了變數值在記憶體中的儲存位址。

可宣告並初始化多個型別相同的變數。

如:int firstnumber=0,secondnumber=0,multiplication=0;

可在開頭宣告變數,也可在需要時再宣告變數。

#include

using namespace std;

int main(){

cout << "----兩數相乘----" <> firstnumber;

cout << "輸入第二個數字:";

int secondnumber = 0;

cin >> secondnumber;

int multiplicationresult = firstnumber * secondnumber;

<< firstnumber << "x" << secondnumber <

程式中宣告了firstnumber和secondnumber變數,用於臨時儲存使用者輸入的數字;

通過設定變數,程式設計師可以使用對人類明了的名稱,把將變數關聯到位址以及建立ram訪問指令的工作留給編譯器做。

注:a、變數名可包含字母和數字,但不能以數字開頭,變數名不能包含空格和算數運算子,可使用下劃線,不能是保留的關鍵字(如return)。

b、儲存在變數中的資料被儲存在記憶體中。

#include

using namespace std;

void multiplynumber(){

cout << "----兩數相乘----" <> firstnumber;

cout << "輸入第二個數字:";

int secondnumber = 0;

cin >> secondnumber;

int multiplicationresult = firstnumber * secondnumber;

cout<< firstnumber << "x" << secondnumber <

注意:不能在函式multiplynumber()外呼叫firstnumber和secondnumber變數,因為這些變數的作用域是區域性的,即從宣告它的語句開始到當前函式的末尾。

函式結束後,將銷毀所有區域性變數,並歸還它們占用的記憶體。

不同函式中宣告的變數為獨立的實體,名稱可相同,但作用域不同。

#include

using namespace std;

//全dndambp局變數

int firstnumber = 0;

int secondnumber = 0;

int multiplicationresult=0;

void multiplynumber(){

cout << "----兩數相乘----" <> firstnumber;

cout << "輸入第二個數字:";

cin >> secondnumber;

multiplicationresult = firstnumber * secondnumbe程式設計客棧r;

cout<< firstnumber << "x" << secondnumber <

在函式外部宣告的變數為全域性變數。

雖然multiplicationresult的值在multiplynumber()中獲得,但仍可在main()中使用。

true和false

直接賦值:

如bool a=false;

結果為布林型別值的表示式:

bool d=(user=="yes");

char uinput="y";

注:表示記憶體空間容量大小的單位是位和位元組。位的取值為0或1;位元組可以包含字元的數字表示。

示例中使用字元資料時,編譯器把字元轉換成可儲存到記憶體中的數字表示。「y」的ascⅱ碼為89,因此編譯器在分配給uinput的記憶體空間中儲存89.

定義常量後,就不能修改它的值。

與變數一樣,常量占用記憶體空間,並使用名稱標識為其預留的空間的位址,但不能覆蓋該空間的內容。

為何給變數賦初值?

有時候,需要根據變數的值做條件處理,未賦值的變數包含的內容是隨機的。

本文標題: c++變數,常量,陣列和字串詳解

本文位址:

字串常量和變數

定義 在乙個雙引號 內的字串行或者轉義字元序列稱為字串常量 例如 ha ha!abc n t 這些字串常量是不能改變的,如果試圖改變指標所指向的內容是錯誤的 因為字串常量是存在靜態記憶體區的,不可以改變的。如定義字串常量 char a i love you.a h 試圖改變它 這是錯誤的。在c語言中...

C 字串常量和字串變數定義和區別

字串常量 定義 在乙個雙引號 內的字串行或者轉義字元序列稱為字串常量 例如 ha ha!abc n t 這些字串常量是不能改變的,如果試圖改變指標所指向的內容是錯誤的 因為字串常量是存在靜態記憶體區的,不可以改變的。如定義字串常量 char a i love you.a h 試圖改變它 這是錯誤的。...

字串常量和字元陣列

1.字串常量 char cstringa hello word 並不建議這樣寫 const char cstringb hello word 建議寫成這樣 cstringa a 執行時出錯,字串常量不允許修改 實際上,c語言中的標準,對於字串常量必須要賦值給const char 的變數,這樣就可以理...