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 次浏览

启动您的职业生涯

通过完成课程获得认证

开始学习
广告