【C語言入門】168.const 修飾字

在這篇文章,我們來看 const 的修飾字。

const 的修飾字可以修飾資料型別。

簡單解釋一下 const 的作用。

如果我的資料型別被 const 修飾之後,這個資料型別在初始化之後,就不能再被複製了。

在 C 語言中,也可以把它看待成是一個唯讀的屬性。

以前我們宣告定以一個變數,我們除了給個名字之外,前面也會加個型別,在以下的例子是 int。

int a = 3;

我們宣告一個定義變數的時候,電腦就會在記憶體空間中配置一個專屬的空間來存放這個變數。

我們在宣告定以的時候給它一個值的動作就叫初始化,在上面的範例中會被初始成 3。

那假設我在宣告定義變數的時候,在 int 的前面增加了一個 const 的修飾,那這個 int 以後就是唯讀的,裡面的值不能被更改。

int a = 3;
const int b = 5;

假設我們今天把 a 的值改為 4 是 OK 的,但是如果要改變 b 的值就沒辦法。

int a = 3;
const int b = 5;

a = 4;    //(O)
b = 6;    //(X) 編譯失敗

const 的好處

const 的好處是定義後的值就不會再變動了。

一般我們定義一個 const,一定會初始化一個值。

對陣列元素,我們一樣可以加 const 修飾字,const 修飾字可以修飾變數,去描述這個值不能再被變動,也不能再被複製了。

int a[3] = {3, 4, 5};
const int b[3] = {5, 6, 7};

在以上的例子,a 是一個普通的整數陣列,有三個空間,每個空間都是可以讀、更改的 int。

int a[3] = {3, 4, 5};
const int b[3] = {5, 6, 7};

a[0] = 4;    //(O)
b[0] = 6;    //(X) 編譯失敗

b[0] 同樣不能被修改,否則會編譯失敗。

Leave a Comment

Your email address will not be published. Required fields are marked *