Constant (const) in C programming

Constant in C language: In this tutorial, we are going to learn how to define a constant in C language, what is const in C language with examples. By IncludeHelp Last updated : December 26, 2023

The const Keyword in C Language

const is a keyword in C language, it is also known as type qualifier (which is to change the property of a variable). const is used to define a constant whose value may not be changed during the program execution. It prevents the accidental changes of the variable.

Syntax

Consider these two definitions,

int value1 = 10;
const int value2 = 20;

Here, value1 is an integer variable, the value of value1 can be changed any time during the run time. But, the value2 is an integer constant, and the value of value2 cannot be changed during the run time.

Here, value1 is an integer variable while value2 is an integer constant.

Defining a constant

The const keyword is used to define a constant, include the keyword const before the data type or after the data type, both are valid.

const data_type constant_name = value;
or 
data_type const constant_name = value;

Does a constant occupy memory?

Yes, a constant always occupies memory at compile time. In the above statements, value2 will take sizeof(int) bytes (that maybe 2, 4, or 8 according to the system architecture) in the memory.

C program to demonstrate the example of constants

#include <stdio.h>

int main()
{
    const int a = 10; //integer constant
    const float b = 12.3f; // float constant
    const char c = 'X'; // character constant
    const char str[] = "Hello, world!"; // string constant

    // printing the values
    printf("a = %d\n", a);
    printf("b = %f\n", b);
    printf("c = %c\n", c);
    printf("str = %s\n", str);

    return 0;
}

Output

a = 10
b = 12.300000
c = X
str = Hello, world!

What does happen, if we try to change the value of a constant?

If we try to change the value of a constant, the compiler produces an error that constant is read-only.

Example

Let's consider this example,

#include <stdio.h>

int main()
{
    const int a = 10; //integer constant

    // printing the value
    printf("a = %d\n", a);

    // changing the values
    a = 20;
    // again, printing the value
    printf("a = %d\n", a);

    return 0;
}

Output

main.c: In function ‘main’:
main.c:11:7: error: assignment of read-only variable ‘a’
     a = 20;
       ^

See the output – a is an integer constant here, and when we try to change it, the error is there.

C Language Tutorial »





Comments and Discussions!

Load comments ↻





Copyright © 2024 www.includehelp.com. All rights reserved.