C++基础学习(02)--(数据类型,变量类型,变量作用域,常量,修饰符类型)
文章目錄
- 目錄
- 一. 數(shù)據(jù)類型
- C++ 中的數(shù)據(jù)類型
- typedef
- enumeration枚舉類型
- c++中變量類型
- 二.變量作用域
- 三.常量
- 四.修飾符類型
目錄
一. 數(shù)據(jù)類型
C++ 中的數(shù)據(jù)類型
使用編程語言進(jìn)行編程時,需要用到各種變量來存儲各種信息。變量保留的是它所存儲的值的內(nèi)存位置。這意味著,當(dāng)您創(chuàng)建一個變量時,就會在內(nèi)存中保留一些空間。
您可能需要存儲各種數(shù)據(jù)類型(比如字符型、寬字符型、整型、浮點型、雙浮點型、布爾型等)的信息,操作系統(tǒng)會根據(jù)變量的數(shù)據(jù)類型,來分配內(nèi)存和決定在保留內(nèi)存中存儲什么。
一些基本類型可以使用一個或多個類型修飾符進(jìn)行修飾:signed , unsigned ,short ,long
下表顯示了各種變量類型在內(nèi)存中存儲值時需要占用的內(nèi)存,以及該類型的變量所能存儲的最大值和最小值。
注意:不同系統(tǒng)會有所差異。
從上表可得知,變量的大小會根據(jù)編譯器和所使用的電腦而有所不同。
下面實例會輸出您電腦上各種數(shù)據(jù)類型的大小。
typedef
enumeration枚舉類型
例子
運行結(jié)果:
4
Succeed!
c++中變量類型
變量其實只不過是程序可操作的存儲區(qū)的名稱。C++ 中每個變量都有指定的類型,類型決定了變量存儲的大小和布局,該范圍內(nèi)的值都可以存儲在內(nèi)存中,運算符可應(yīng)用于變量上。
變量的名稱可以由字母、數(shù)字和下劃線字符組成。它必須以字母或下劃線開頭。大寫字母和小寫字母是不同的,因為 C++ 是大小寫敏感的。
基于前一章講解的基本類型,有以下幾種基本的變量類型,將在下一章中進(jìn)行講解
注意
C++ 也允許定義各種其他類型的變量,比如枚舉、指針、數(shù)組、引用、數(shù)據(jù)結(jié)構(gòu)、類等等,這將會在后續(xù)的章節(jié)中進(jìn)行講解。
變量只能定義一次,可以使用extern關(guān)鍵字在多個文件中聲明多次
例子
當(dāng)上面的代碼被編譯和執(zhí)行時,它會產(chǎn)生下列結(jié)果:
30
23.333
**同樣的,在函數(shù)聲明時,提供一個函數(shù)名,而函數(shù)的實際定義則可以在任何地方進(jìn)行。**例如:
// 函數(shù)聲明 int func();int main() {// 函數(shù)調(diào)用int i = func(); }// 函數(shù)定義 int func() {return 0; }
二.變量作用域
在程序中,局部變量和全局變量的名稱可以相同,但是在函數(shù)內(nèi),局部變量的值會覆蓋全局變量的值。下面是一個實例:
全局變量系統(tǒng)自動初始化,局部變量系統(tǒng)不會自動初始化
定義變量時,最好進(jìn)行初始化
運行結(jié)果:
10
99
運行結(jié)果:
此時的全局變量為:20
被改變的全局變量為:30
此時的全局變量為:30
三.常量
const 限定符定以后是不可以改變的,所以在定義時賦初值,否則是錯誤的 ;除非這個變量是用extern修飾的外部變量
四.修飾符類型
explicit構(gòu)造函數(shù)是用來防止隱式轉(zhuǎn)換的。請看下面的代碼:
Test1的構(gòu)造函數(shù)帶一個int型的參數(shù),代碼23行會隱式轉(zhuǎn)換成調(diào)用Test1的這個構(gòu)造函數(shù)。而Test2的構(gòu)造函數(shù)被聲明為explicit(顯式),這表示不能通過隱式轉(zhuǎn)換來調(diào)用這個構(gòu)造函數(shù),因此代碼24行會出現(xiàn)編譯錯誤。
普通構(gòu)造函數(shù)能夠被隱式調(diào)用。而explicit構(gòu)造函數(shù)只能被顯式調(diào)用
總結(jié)
以上是生活随笔為你收集整理的C++基础学习(02)--(数据类型,变量类型,变量作用域,常量,修饰符类型)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《机器学习实战》笔记(01):机器学习基
- 下一篇: c++基础学习(03)--(存储类,运算