Thursday, October 3, 2019

Constants in C

A constant is a value or variable that can't be changed in the program, for example: 10, 20, 'a', 3.4, "c programming" etc.
There are different types of constants in C programming.

List of Constants in C

ConstantExample
Decimal Constant10, 20, 450 etc.
Real or Floating-point Constant10.3, 20.2, 450.6 etc.
Octal Constant021, 033, 046 etc.
Hexadecimal Constant0x2a, 0x7b, 0xaa etc.
Character Constant'a', 'b', 'x' etc.
String Constant"c", "c program", "c in javatpoint" etc.
2 ways to define constant in C

There are two ways to define constant in C programming.

  1. const keyword
  2. #define preprocessor

1) C const keyword

The const keyword is used to define constant in C programming.
const float PI=3.14;
Now, the value of PI variable can't be changed.

#include<stdio.h>                           
int main(){                                     
const float PI=3.14;                       
printf("The value of PI is: %f",PI);
return 0;                                           
}                                                       

Output:

The value of PI is: 3.140000


If you try to change the the value of PI, it will render compile time error.

#include<stdio.h>                           
int main(){                                     
const float PI=3.14;                       
PI=4.5;                                           
printf("The value of PI is: %f",PI);
return 0;                                         
}                                                       


Output:

Compile Time Error: Cannot modify a const object

2) C #define preprocessor


The #define preprocessor is also used to define constant. We will learn about #define preprocessor directive later.
The #define preprocessor directive is used to define constant or micro substitution. It can use any basic data type.

Syntax:

#define token value

Let's see an example of #define to define a constant.
#include <stdio.h>   
#define PI 3.14       
main() {                   
printf("%f",PI);       
}                               

Output:

3.140000

Let's see an example of #define to create a macro.

#include <stdio.h>                                                                     
#define MIN(a,b) ((a)<(b)?(a):(b))                                           
void main() {                                                                             
printf("Minimum between 10 and 20 is: %d\n", MIN(10,20)); 
}                                                                                                   


Output:

Minimum between 10 and 20 is: 10

No comments:

Post a Comment