在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)) ===|
  • 通过创建Enum -Enum或Enumeration也用于创建一组常量值。Enum是一种用户定义的数据类型,可用于许多编程语言,包括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