C++教程-----C++變數型別和變數的定義
C++教程正在更新中,具體請檢視教程目錄
C++資料型別和變數的定義
C++完全可以理解成C的增強版,增加了許多不同的資料型別,並且同時對C向下相容,同時對C語言資料的結構等等進行了擴充套件,C++在定義變數的同時不需要再結構名,聯合名,列舉名前加上struct,union,enum。
C++中有許多不同的資料型別,以下的內容主要參考和重新創作根據cppreference。
在這裡只介紹一些常見和常用的資料型別。
1.void
void值為空集的型別,不存在void型別的陣列,也不存在到void的引用,並且允許void指標和返回void型別的函式,這個部分將再之後的C++函式的部分進行講解。
2.bool
在電路中,我們可以用0/1分別表示電路的關閉和開啟,同時,在計算機中我們用True和False來表示電路的開和閉,因此在C++中新增了一個新的型別–bool。bool型別的物件只存在兩個數值:0/1或者true/false,並且在定義物件的同時,bool型別的物件佔用的空間更小。
3.int
在C++中int定義的是16位整數,也就是16位二進位制位表示的整數,其範圍為:-2147483648 ~ 2147483647。在進行程式設計的時候,需要根據環境適當選擇不同的型別。
4.long long
在C++中long long定義的是64為整數,也就是64位二進位制位表示對整數 -9223372036854775808 ~ 9223372036854775807也就是數字長度19位的數字
5.char
字元型別
6.string
string可以定義一個字串,同時和陣列結合也可以定義字串的陣列,可以看作char型別的增強版,string型別的字串可以理解成長度無窮的字串實際長度和計算機效能和記憶體有關。
7.float/double
在C++中存在浮點數,也就是數學中的小數,float和double都表示小數,並且表示數字的範圍不同。
C++還有很多資料型別,在之後的文章中會逐步介紹
下面來說明C++變數的定義:
C++變數的定義可以理解成如下公式:型別 物件名 (初始值),在定義變數的過程中首先變數的型別必不可少,必須在定義變數之前宣告變數的型別int,char,string等等,其次,定義變數的名字,在定義變數的同時我們可以對變數給予一個初始的值也可以不進行初始化。
在C++中定義變數的操作如下:
#include<map>
#include<list>
#include<cmath>
#include<queue>
#include<stack>
#include<vector>
#include<cstdio>
#include<iomanip>
#include<cstring>
#include<iostream>
#include<algorithm>
#define R register
#define LL long long
using namespace std;
int main(){
int number_1;
int number_2 = 0;
bool check = true;
string name;
return 0;
}
同時在C++中存在全域性變數和區域性變數,全域性變數可以認為可以在整個程式中使用,在整個程式中呼叫,定義的時候需要在函式位定義;區域性變數需要在函式內定義,只能在所定義該變數的函式內使用,在實際使用的過程中,全域性變數所能開闢的大小相對於區域性變數能開闢的記憶體大小要大很多,區域性變數在定義時,數字型別預設為0,字元預設為空,bool型別預設為Flase,在區域性變數定義的時候變數初始值和記憶體有關,初始值隨機,有時候需要將變數初始化。
常量
如果說變數是在程式執行的過程中可以改變的記憶體單元的名字(變數儲存在記憶體上),那麼常量就是值固定不變的記憶體單元,因為在程式設計的過程中有時我們不希望一些變數被隨意修改,比如我們在計算一個球的體積的時候,我們需要用到Π,並且在使用的過程中並不希望Π因為某些原因被修改,因為不小心修改了Π可能會對以後的計算造成影響,這時候我們就引進了常量,常量一旦被定義,在之後的程式設計的過程中將不會再被修改,在C++中通常用const和constexpr來定義常量,具體的定義公式如下:
const 常量型別 常量名 = 常量的表示式
constexpr 常量型別 常量名 = 常量的表示式
常量必須在定義的時候就進行初始化,不能在使用的過程中進行初始化,並且定義的常量一經初始化就不能再被修改,定義常量的示範如下:
const int name = "Lpy_Now";
const int number_1 = 10;
const double number_2 = 1.0;
int main(){
int number_3 = 1;
const int number_4 = number_1 + number_3;
return 0;
}
constexpr和const在大多數情況下作用是相同的,唯一的區別是資料初始化的時間不同,constexpr定義的常量必須在定義的同時就對變數初始化完成但是const定義的常量使用範圍就叫為寬泛,這樣的常量可以在使用這個常量之前初始化即可。
檢視上一篇:程式導向程式設計和麵向物件程式設計的區別和C++語言的基礎輸入輸出以及string的使用
檢視下一篇:C++指標(上)-----基礎篇
檢視目錄:C++教程目錄
相關文章
- c++基本型別和變數C++型別變數
- c++中變數型別C++變數型別
- C++中變數的型別C++變數型別
- c++中的變數型別_C ++中的變數C++變數型別
- C++ 變數型別查詢C++變數型別
- C++入門教程(5):基本資料型別和變數C++資料型別變數
- C C++變數型別大小和範圍C++變數型別
- C++入門教程(20):變數、不變數和常量C++變數
- 【C++注意事項】2 變數宣告和定義C++變數
- [C++]變數宣告與定義的規則C++變數
- C++中的基本變數型別介紹C++變數型別
- C++ 查詢某個變數的型別C++變數型別
- 1.2 C++變數和資料型別 (Variables and Data types )C++變數資料型別
- C++類內成員變數可以定義引用型別嗎C++變數型別
- c++任意變數型別獲取相關C++變數型別
- c++ typeid().name()輸出變數型別C++變數型別
- C/C++定義全域性變數/常量幾種方法的區別C++變數
- C/C++獲取變數型別並輸出C++變數型別
- 《C++ Primer》 ---- 關於變數 與 基本型別C++變數型別
- 變數的定義和使用變數
- JAVASE——資料型別,變數定義及使用Java資料型別變數
- c++中的變數C++變數
- MySQL中變數的定義和變數的賦值使用MySql變數賦值
- 物聯網學習教程—定義結構體型別變數的方法結構體型別變數
- c++語言中類的私有型別或保護型別成員變數C++型別變數
- C++入門教程之二:變數C++變數
- 【C++】為什麼不能定義陣列的引用,卻可定義變數的引用C++陣列變數
- 修改全域性變數時,可變型別和不可變型別的區別變數型別
- c 語言中巨集定義和定義全域性變數的區別變數
- Shell程式設計-shell變數2-位置變數和預定義變數程式設計變數
- 學會在 C++ 中使用變數:從定義到實踐C++變數
- 淺談變數型別之外的變數命名變數型別
- c+++變數宣告和定義C++變數
- 兄弟連go教程(1)型別-變數Go型別變數
- C++中的條件變數C++變數
- 跟我一起學習C++ 之 初識變數和基本型別 之 內建型別C++變數型別
- PHP變數型別PHP變數型別
- Java 變數型別Java變數型別