Konstanterne i C er de skrivebeskyttede variable, hvis værdier ikke kan ændres, når de først er erklæret i C-programmet. Typen af konstant kan være en heltalskonstant, en flydende pointerkonstant, en strengkonstant eller en tegnkonstant. I C-sprog er konst nøgleordet bruges til at definere konstanterne.
I denne artikel vil vi diskutere konstanterne i C-programmering, måder at definere konstanter i C, typer af konstanter i C, deres egenskaber og forskellen mellem bogstaver og konstanter.
Hvad er en konstant i C?
Som navnet antyder, er en konstant i C en variabel, der ikke kan ændres, når den først er erklæret i programmet. Vi kan ikke foretage nogen ændring i værdien af de konstante variable, efter at de er defineret.
Hvordan defineres konstant i C?
Vi definerer en konstant i C-sprog ved hjælp af konst søgeord. Også kendt som en const type qualifier, er nøgleordet const placeret i starten af variabelerklæringen for at erklære denne variabel som en konstant.
Syntaks til at definere konstant
const data_type var_name = value ;>

Eksempel på konstanter i C
C
tostring java
// C program to illustrate constant variable definition> #include> int> main()> {> >// defining integer constant using const keyword> >const> int> int_const = 25;> >// defining character constant using const keyword> >const> char> char_const =>'A'>;> >// defining float constant using const keyword> >const> float> float_const = 15.66;> >printf>(>'Printing value of Integer Constant: %d
'>,> >int_const);> >printf>(>'Printing value of Character Constant: %c
'>,> >char_const);> >printf>(>'Printing value of Float Constant: %f'>,> >float_const);> >return> 0;> }> |
>
>Produktion
Printing value of Integer Constant: 25 Printing value of Character Constant: A Printing value of Float Constant: 15.660000>
En ting at bemærke her er, at vi er nødt til det initialisere de konstante variable ved deklaration . Ellers vil variablen gemme en vis skraldværdi, og vi vil ikke være i stand til at ændre den. Følgende billede beskriver eksempler på forkerte og korrekte variabeldefinitioner.

Typer af konstanter i C
Typen af konstanten er den samme som datatypen for variablerne. Følgende er listen over typer konstanter
- Heltal konstant
- Karakter konstant
- Flydende punkt konstant
- Dobbelt præcision flydende punkt konstant
- Array Konstant
- Konstant struktur
Vi skal blot tilføje nøgleordet const i starten af variabeldeklarationen.
Egenskaber af konstant i C
De vigtige egenskaber ved konstante variable i C defineret ved hjælp af nøgleordet const er som følger:
1. Initialisering med erklæring
Vi kan kun initialisere konstantvariablen i C på tidspunktet for dens erklæring. Ellers vil den gemme skraldværdien.
2. Uforanderlighed
De konstante variable i c er uforanderlige efter dens definition, dvs. de kan kun initialiseres én gang i hele programmet. Derefter kan vi ikke ændre værdien, der er gemt i den pågældende variabel.
C
ellers java
// C Program to demonstrate the behaviour of constant> // variable> #include> int> main()> {> >// declaring a constant variable> >const> int> var;> >// initializing constant variable var after declaration> >var = 20;> >printf>(>'Value of var: %d'>, var);> >return> 0;> }> |
>
>
Produktion
In function 'main': 10:9: error: assignment of read-only variable 'var' 10 | var = 20; | ^>
Forskellen mellem konstanter og bogstaver
Konstanten og bogstaverne forveksles ofte som det samme. Men i C-sprog er de forskellige entiteter og har forskellig semantik. Følgende tabel viser forskellene mellem konstanterne og bogstaverne i C:
| Konstant | Bogstaver |
|---|---|
| Konstanter er variabler, der ikke kan ændres, når de først er deklareret. | Bogstaver er de faste værdier, der definerer sig selv. |
| Konstanter defineres ved at bruge nøgleordet const i C. De gemmer bogstavelige værdier i sig selv. | De er selv de værdier, der er tildelt variablerne eller konstanterne. |
| Vi kan bestemme adressen på konstanter. | Vi kan ikke bestemme adressen på en literal undtagen streng literal. |
| De er lværdier. | De er rværdier. |
| Eksempel: const int c = 20. | Eksempel: 24,15,5, 'a', nørder osv. |
Definere konstant ved hjælp af #define Preprocessor
Vi kan også definere en konstant i C vha #define preprocessor . Konstanterne defineret ved hjælp af #define er makroer, der opfører sig som en konstant. Disse konstanter håndteres ikke af compileren, de håndteres af præprocessoren og erstattes af deres værdi før kompilering.
#define const_name value>
Eksempel på konstant makro
C
// C Program to define a constant using #define> #include> #define pi 3.14> int> main()> {> >printf>(>'The value of pi: %.2f'>, pi);> >return> 0;> }> |
>
>Produktion
The value of pi: 3.14>
Bemærk: Denne metode til at definere konstant foretrækkes ikke, da den kan introducere fejl og gøre koden svær at vedligeholde.
Ofte stillede spørgsmål om C-konstanter
Q1. Definer C-konstanter.
Svar:
Konstanter i C er de uforanderlige variabler, hvis værdier ikke kan ændres, når de først er erklæret i C-programmet.
Q2. Hvad er brugen af søgeordet const?'
Svar:
Nøgleordet const er kvalifikationen, der bruges til at erklære konstantvariablen i C-sprog.
Q3. Kan vi initialisere konstantvariablen efter erklæringen?
Svar:
Nej, vi kan ikke initialisere konstantvariablen, når den først er erklæret.
Q4. Hvad er den rigtige måde at erklære konstanten i C?
Svar:
Den rigtige måde at erklære en konstant i C er altid at initialisere konstantvariablen, når vi erklærer.
Q5. Hvad er forskellen mellem konstant defineret ved hjælp af const qualifier og #define?
Svar:
Følgende tabel viser forskellene mellem konstanterne defineret ved hjælp af const qualifier og #define i C:
Konstanter ved hjælp af konst Konstanter ved hjælp af #define Det er de variable, der er uforanderlige Det er de makroer, der erstattes af deres værdi. De håndteres af compileren. De håndteres af præprocessoren. Syntaks: konst type navn = værdi ; Syntaks: #Definere navneværdi
Q6. Er der nogen måde at ændre værdien af en konstant variabel i C?
Svar:
Ja, vi kan drage fordel af smuthullet skabt af pointere til at ændre værdien af en variabel, der er erklæret som en konstant i C. Nedenstående C-program viser, hvordan man gør det.
hashing i datastrukturC
// C Program to change the value of constant variable>#include>int>main()>{>>// defining an integer constant>>const>int>var = 10;>>printf>(>'Initial Value of Constant: %d '>, var);>>// defining a pointer to that const variable>>int>* ptr = &var;>>// changing value>>*ptr = 500;>>printf>(>'Final Value of Constant: %d'>, var);>>return>0;>}>>>ProduktionInitial Value of Constant: 10 Final Value of Constant: 500>Relateret artikel – Const Qualifier i C