C 和 C++ 中宣告常量變數的不同方法


在 C 和 C++ 中宣告常量有多種方法。首先,我們需要了解什麼是常量。

什麼是常量?

常量是指不能改變的值。在程式設計方面,常量是指分配給變數的固定值,在程式執行期間任何其他變數或元件都無法更改它們。常量可以是任何資料型別。它們用於定義程式中不變的元件。有些資料或變數具有固定值,例如 Pi 的固定浮點值為 3.14,因此可以將其宣告為常量。

有多種方法可以將變數宣告為常量

  • 使用 const 關鍵字 − 這是將變數設為常量的最常用方法。如果程式試圖更改宣告為 const 的常量變數的值,則編譯器將發出錯誤訊息。

示例

#include<stdio.h>
int main(){
   const int value = 5;
   printf("value of constant variable is : %d ",value);
   //try to change the value of constant variable
   value = 8;
   return 0;
}

輸出

這段程式碼的輸出將是:

||=== Build file: "no target" in "no project" (compiler: unknown) ===|
C:\Users\dell\OneDrive\Documents\test.c||In function 'main':|
C:\Users\dell\OneDrive\Documents\test.c|7|error: assignment of read-only
variable 'value'|
||=== Build failed: 1 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|
  • 透過建立列舉 − 列舉也用於建立一組常數值。列舉是許多程式語言(包括 C 和 C++)中使用的一種使用者定義的資料型別。例如,我們可以將一週中的幾天定義為列舉,因為它們具有固定字串型別的資料值。

示例

 線上演示

#include<stdio.h>
enum months{Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec};
int main(){
   int i;
   printf("values are : ");
   for (i=Jan; i<=Dec; i++)
      printf("%d ", i);
   return 0;
}

輸出

這段程式碼的輸出將是:

values are : 0 1 2 3 4 5 6 7 8 9 10 11
  • 使用宏 − 宏是一種預處理器指令。它們包含以名稱表示的程式碼片段。它是使用“#define”建立的。每當編譯器在程式碼中確定宏的名稱時,它都將用程式碼替換它。因此,我們可以說宏是一種常數值。

示例

#include<iostream>
using namespace std;
#define val 10
int main(){
   val++; //we can’t modify the value of constant
   return 0 ;
}

輸出

這段程式碼的輸出將是:

Main.cpp:6:8: error: expression is not assignable

示例

 線上演示

#include<iostream>
using namespace std;
#define val 10
int main(){
   int product = 1;
   cout<<"Value of Macro val is : "<<val;
   for(int i=0;i<val;i++){
      product=product*val;
   }
   cout<<"\nProduct is: "<<product;
   cout<<"\nValue of Macro val after modifying it is : "<<val;
   return 0 ;
}

輸出

這段程式碼的輸出將是:

Value of Macro val is : 10
Product is: 1410065408
Value of Macro val after modifying it is : 10

更新於:2020年8月14日

745 次瀏覽

啟動您的職業生涯

透過完成課程獲得認證

開始學習
廣告