修飾子(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