修飾子(qualifier)
盧冠綸 @ sprout 2021 C/C++ 語法班
修飾子是什麼?
修飾子可以讓變數增加某些功能(改變範圍、變成常數等等),
而不再只是單純的int、單純的double...等等。
The 偷 part 4
(題目照片)
Credit to : Arvin Liu
The 偷 part 4
(題目照片)
(short == short int, long == long int, long long == long long int)
如你們所見,圖中的short、long、unsigned等,都屬於修飾子。
short、long、long long
他們可以用來改變變數的範圍大小。
The 偷 part 6
Credit to : Arvin Liu
冷知識
剛剛那個是 The 偷 part 6,
可是其實我不小心漏掉了 The part 5。
年輕人不講5的(X
sizeof
使用sizeof(型態或變數),
可以知道這個型態或變數所佔的記憶體有幾個byte。
sizeof
例如sizeof(int)是4,表示一個int會佔4個byte,也就是32個bit
因此int的範圍可以容納2^32個數。
小分析
short 的優點:比較省空間。
long long 的優點:範圍比較大。
給大家動動腦(不是今天的範圍):
如果今天你要算的數字非常非常之大,
已經超過了long long int 的範圍,你會怎麼處理他呢?
unsigned
unsigned 可以用來把變數範圍改變。
沒有unsigned時,範圍有正有負;
有unsigned時,範圍內不會出現負數。(可參考前面的表)
const
const 可以用來把變數設成常數,
如果不小心更動到const變數的值,編譯器會發生error。
這樣對我們有什麼好處?
const
這個error會讓我們意識到,自己不小心改動到了不該改動的變數。
因此,如果你很確定某個變數的值從頭到尾都不會變的話,就可以用const來修飾他(阿然後宣告時記得要初始化)。
static
是固定在記憶體中的變數。
只會宣告與初始化一次。宣告完就一路存在直到程式結束。
我們直接來看個例子。
static
比較:
沒static(左):每跑一次函式就重新宣告與初始化。離開函式就會消失。
有static(右):只有跑第一次時才會宣告與初始化。離開函式仍會保留,
在第二次進入相同函式時就不會再重新宣告一次。
static
功能:
你可以利用static,來統計你整個程式中跑了幾次某個函式。
或者,你也可以用static來當作是序號的生成器。
多個修飾子
修飾子的介紹大概就到這邊了。
最後告訴大家,一個變數是可以同時擁有很多修飾子的哦。
(下面那些全部都是合法的,雖然不見得容易用到就是了)
參考資料
https://www.youtube.com/watch?v=072tU1tamd0
修飾子
By allen522019
修飾子
- 638