Prev Next
- C Constants are also like normal variables. But, only difference is, their values can not be modified by the program once they are defined.
- Constants refer to fixed values. They are also called as literals
- Constants may be belonging to any of the data type.
- Syntax:
const data_type variable_name; (or) const data_type *variable_name;
Types of C constant:
- Integer constants
- Real or Floating point constants
- Octal & Hexadecimal constants
- Character constants
- String constants
- Backslash character constants
| Constant type | data type (Example) | 
| Integer constants | int (53, 762, -478 etc ) unsigned int (5000u, 1000U etc) long int, long long int (483,647 2,147,483,680) | 
| Real or Floating point constants | float (10.456789) doule (600.123456789) | 
| Octal constant | int (Example: 013 /*starts with 0 */) | 
| Hexadecimal constant | int (Example: 0x90 /*starts with 0x*/) | 
| character constants | char (Example: ‘A’, ‘B’, ‘C’) | 
| string constants | char (Example: “ABCD”, “Hai”) | 
Rules for constructing C constant:
1. Integer Constants in C:
- An integer constant must have at least one digit.
- It must not have a decimal point.
- It can either be positive or negative.
- No commas or blanks are allowed within an integer constant.
- If no sign precedes an integer constant, it is assumed to be positive.
- The allowable range for integer constants is -32768 to 32767.
2. Real constants in C:
- A real constant must have at least one digit
- It must have a decimal point
- It could be either positive or negative
- If no sign precedes an integer constant, it is assumed to be positive.
- No commas or blanks are allowed within a real constant.
3. Character and string constants in C:
- A character constant is a single alphabet, a single digit or a single special symbol enclosed within single quotes.
- The maximum length of a character constant is 1 character.
- String constants are enclosed within double quotes.
4. Backslash Character Constants in C:
- There are some characters which have special meaning in C language.
- They should be preceded by backslash symbol to make use of special function of them.
- Given below is the list of special characters and their purpose.
| Backslash_character | Meaning | 
| \b | Backspace | 
| \f | Form feed | 
| \n | New line | 
| \r | Carriage return | 
| \t | Horizontal tab | 
| \” | Double quote | 
| \’ | Single quote | 
| \\ | Backslash | 
| \v | Vertical tab | 
| \a | Alert or bell | 
| \? | Question mark | 
| \N | Octal constant (N is an octal constant) | 
| \XN | Hexadecimal constant (N – hex.dcml cnst) | 
How to use constants in a C program?
We can define constants in a C program in the following ways.
- By “const” keyword
- By “#define” preprocessor directive
Please note that when you try to change constant values after defining in C program, it will through error.
1. Example program using const keyword in C:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | #include <stdio.h> void main() { const int height = 100; /*int constant*/ const float number = 3.14; /*Real constant*/ const char letter = 'A'; /*char constant*/ const char letter_sequence[10] = "ABC"; /*string constant*/ const char backslash_char = '\?'; /*special char cnst*/ printf("value of height :%d \n", height ); printf("value of number : %f \n", number ); printf("value of letter : %c \n", letter ); printf("value of letter_sequence : %s \n", letter_sequence); printf("value of backslash_char : %c \n", backslash_char); } | 
Output:
| value of height : 100 value of number : 3.140000 value of letter : A value of letter_sequence : ABC value of backslash_char : ? | 
2. Example program using #define preprocessor directive in C:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | #include <stdio.h> #define height 100 #define number 3.14 #define letter 'A' #define letter_sequence "ABC" #define backslash_char '\?' void main() { printf("value of height : %d \n", height ); printf("value of number : %f \n", number ); printf("value of letter : %c \n", letter ); printf("value of letter_sequence : %s \n",letter_sequence); printf("value of backslash_char : %c \n",backslash_char); } | 
Output:
| value of height : 100 value of number : 3.140000 value of letter : A value of letter_sequence : ABC value of backslash_char : ? | 
