Open In App

Difference Between Constant and Literals

Last Updated : 01 Apr, 2024
Improve
Improve
Like Article
Like
Save
Share
Report

In this article, we are going to discuss the differences between Constant and Literals in a programming language with examples.

Constants

  • Constants are used to define values that remain fixed and cannot be changed during the execution of a program.
  • In C++, they are typically declared using the const keyword. When you declare a constant, you specify its data type and give it a name.
  • Constants are often used to make code more readable, and self-documenting, and to prevent accidental changes to important values.
  • You can define constants of various data types, including integers, floating-point numbers, characters, and more.
  • Constants are evaluated at compile-time, and their values are replaced directly in the code.

In the below code, maxCount, pi, and newline are constants, and their values cannot be modified after declaration.

const int maxCount = 100;
const double pi = 3.14159;
const char newline = '\n';

Literals

Literals are the actual values that are directly written into your code to represent specific data. They are used to provide initial values for variables, as operands in expressions, or as direct values in statements.

C++ supports different types of literals:

1) Integer Literals: These represent whole numbers, and they can be written in decimal, octal, or hexadecimal formats.

int decimal = 42;   // Decimal integer literal
int octal = 052; // Octal integer literal (0 prefix)
int hex = 0x2A; // Hexadecimal integer literal (0x prefix)

2) Floating-Point Literals: These represent real numbers and can be written in decimal or exponential notation.

double decimalNum = 3.14159;  // Decimal floating-point literal
double exponentNum = 6.02e23; // Exponential floating-point literal

3) Character Literals: These represent single characters and are enclosed in single quotes.

char ch = 'A';       // Character literal 'A'
char newline = '\n'; // Character literal for newline

4) String Literals: These represent sequences of characters and are enclosed in double quotes.

const char* greeting = "Hello, World!"; // String literal

5) Boolean Literals: C++ has two boolean literals, true and false, which represent the Boolean values.

bool isTrue = true;
bool isFalse = false;

Difference Between Constant And Literals

The following table lists the key differences between the constants and literals:

Aspect

Constants

Literals

Definition

Named values with fixed, unchanging values.

Actual values directly used in code.

Declaration

Declared using the ‘const’ keyword with a name.

Used directly in the code without names or identifiers.

Mutability

Cannot be changed after initialization.

Fixed values, not meant to be changed.

Usage

Commonly used to define important, unchanging values in the program.

Used for initializing variables, as operands in expressions, or in statements.

Data Types

Can be of various data types (int, double, char, etc.).

Different types of literals for different data types (integer, floating-point, character, etc.).

Examples

const int maxCount = 100;
const double pi = 3.14159;
const char newline = ‘\n’;

int x = 42;
double price = 19.99;
char ch = ‘A’;
const char* text = “Hello, World!”;
bool flag = true;

Conclusion

Constants and literals are both essential in programming. Constants help make code more maintainable by providing meaningful names for fixed values, and literals are used to specify actual data values directly in the code. Depending on your programming needs, you’ll use both constants and literals to build robust and readable programs.

Related Articles:


Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads