ios
例如int zombies = 2;
其中zombies是變量名,2是其存儲的變量值,可是它可能被放在了內存中的第101~104塊,那麼它的地址就是101~104(實際可能只顯示頭部地址)c++
c++建立變量時,須指定變量名稱和類型,好比int a;
,數據類型用於指定變量所佔用的最大空間(單位爲字節)函數
基本數據類型:(因操做系統平臺不一樣,長度可能會有所不一樣)spa
類型 | 長度(字節數) | 取值範圍 |
---|---|---|
unsigned short | 2 | 0~65 535 |
short | 2 | -32 768~32 767 |
unsigned long | 4 | 0~4 294 967 295 |
long | 4 | -2 147 483 648~2 147 483 647 |
int | 4 | -2 147 483 648~2 147 483 647 |
unsigned int | 4 | 0~4 294 967 295 |
long long int | 8 | -9.2x1018 ~9.2x1018 |
char | 1 | 256個字符 |
bool | 1 | true或false |
float | 4 | 1.2e-38~3.4e38 |
double | 8 | 2.2e-308~1.8e308 |
其中須注意的是無符號數的長度雖然與有符號數的相同,可是從0開始操作系統
最特殊的是浮點數,浮點數的制定與其餘的不一樣,它是依據IEEE754標準制定的,浮點表示法應該是一個programer掌握的最基本知識(之後會有深刻理解計算機系統筆記,到時候會再行說明)code
固然,c++也支持用戶自定義的變量類型,好比用戶定義的類或結構體。內存
要獲取變量類型的長度,可以使用sizeof()函數編譯器
程序清單3.1 Size.cppstring
駝峯命名法:it
對變量命名使用小駝峯命名法(首單詞小寫,其他單詞首字母大寫),如:newWroldRecord
對類名,名稱空間使用大駝峯命名法(單詞首字母均大寫),如:DataBaseManager
除了駝峯命名法以外,沒啥可記錄的了。
賦值運算符: =
程序清單3.2 Rectangle.cpp
類型定義關鍵字:typedef
程序清單3.3 NewRectangle.cpp
常量值不會改變,且必須在建立常量時對其進行初始化。c++支持兩種類型的常量:字面常量與符號常量
字面常量是直接在須要的地方輸入的值
好比:long width = 19;
中,19就是字面常量,true與false也是字面常量。
符號常量是用名稱表示的常量,與變量類型類似。聲明符號常量時,須要使用關鍵字const,並在後面跟類型、名稱和初值。
好比:const int KILL_BONUS = 5000;
也可定義常量,如:#define KILLBONUS 5000
,因爲這種c式定義法沒有指定類型,編譯器沒法確保其值是合適的,因此建議採用const關鍵字,而非使用編譯指令進行常量定義。
枚舉常量是在一條語句中建立一組常量,使用關鍵字enum定義,枚舉值放在大括號裏,之間逗號進行分隔。
好比:enmu Color {RED=100,BLUE,GREEN=500,WHITE,BLACK=700};
程序清單3.4 Compass.cpp
這裏的輸出結果是moving 3,緣由是若是不進行顯式初始化枚舉常量,則枚舉值從North開始默認爲0,而後遞增。
c++有一個關鍵字auto,可用於根據賦給變量的初值推斷出變量的類型,該工做由編譯器完成。
好比:auto rate=500/3.0
等價於double rate=500/3.0
程序清單3.5 Combat.cpp
結果是:
Attack rating: 72.8 Damage rating: 38.4
若是上面這個程序您的編譯器發出報錯或警告,多是您的編譯器默認編譯的c++版本在14如下,則使用如下編譯命令嘗試讓編譯器選擇使用c++14進行編譯:
g++ -std=c++14 Combat.cpp -o Combat.exe