Konstanter i C
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
// 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
// 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.
C
// 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;>}>
Produktion
Initial Value of Constant: 10 Final Value of Constant: 500Relateret artikel – Const Qualifier i C