Konstanter i C
Konstanterna i C är de skrivbara variablerna vars värden inte kan ändras när de väl har deklarerats i C-programmet. Typen av konstant kan vara en heltalskonstant, en flytande pekarkonstant, en strängkonstant eller en teckenkonstant. I C-språket konst nyckelord används för att definiera konstanterna.
I den här artikeln kommer vi att diskutera konstanterna i C-programmering, sätt att definiera konstanter i C, typer av konstanter i C, deras egenskaper och skillnaden mellan bokstaver och konstanter.
Vad är en konstant i C?
Som namnet antyder är en konstant i C en variabel som inte kan ändras när den väl har deklarerats i programmet. Vi kan inte göra någon förändring i värdet på de konstanta variablerna efter att de har definierats.
Hur definierar man konstant i C?
Vi definierar en konstant i C-språket med hjälp av konst nyckelord. Även känd som en kvalificerare av typen const placeras nyckelordet const i början av variabeldeklarationen för att deklarera variabeln som en konstant.
Syntax för att definiera konstant
const data_type var_name = value ;
Exempel 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 sak att notera här är att vi måste initiera konstantvariablerna vid deklaration . Annars kommer variabeln att lagra ett skräpvärde och vi kommer inte att kunna ändra det. Följande bild beskriver exempel på felaktiga och korrekta variabeldefinitioner.
Typer av konstanter i C
Typen av konstanten är densamma som datatypen för variablerna. Följande är listan över typerna av konstanter
- Heltal konstant
- Karaktärskonstant
- Flytpunktskonstant
- Dubbel precision flytande punkt konstant
- Array Konstant
- Konstant struktur
Vi behöver bara lägga till nyckelordet const i början av variabeldeklarationen.
Egenskaper av konstant i C
De viktiga egenskaperna hos konstantvariabler i C definierade med nyckelordet const är följande:
1. Initiering med deklaration
Vi kan bara initiera konstantvariabeln i C vid tidpunkten för dess deklaration. Annars kommer den att lagra skräpvärdet.
2. Oföränderlighet
De konstanta variablerna i c är oföränderliga efter dess definition, det vill säga de kan initieras endast en gång i hela programmet. Efter det kan vi inte ändra värdet som lagras i den variabeln.
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; | ^
Skillnaden mellan konstanter och bokstaver
Konstanten och bokstavliga ord blandas ofta ihop som samma. Men i C-språket är de olika enheter och har olika semantik. Följande tabell listar skillnaderna mellan konstanterna och literalerna i C:
| Konstant | Bokstäver |
|---|---|
| Konstanter är variabler som inte kan ändras när de väl har deklarerats. | Literals är de fasta värden som definierar sig själva. |
| Konstanter definieras genom att använda nyckelordet const i C. De lagrar bokstavliga värden i sig själva. | De är själva de värden som tilldelas variablerna eller konstanterna. |
| Vi kan bestämma adressen för konstanter. | Vi kan inte bestämma adressen för en literal förutom strängliteral. |
| De är lvärden. | De är rvärden. |
| Exempel: const int c = 20. | Exempel: 24,15,5, 'a', nördar, etc. |
Definiera konstant med #define Preprocessor
Vi kan också definiera en konstant i C med hjälp av #define förprocessor . Konstanterna som definieras med #define är makron som beter sig som en konstant. Dessa konstanter hanteras inte av kompilatorn, de hanteras av förprocessorn och ersätts av deras värde före kompilering.
#define const_name value
Exempel 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
Notera: Denna metod för att definiera konstant är inte att föredra eftersom den kan introducera buggar och göra koden svår att underhålla.
Vanliga frågor om C-konstanter
Q1. Definiera C-konstanter.
Svar:
Konstanter i C är de oföränderliga variablerna vars värden inte kan ändras när de väl har deklarerats i C-programmet.
Q2. Vad är nyttan med nyckelordet const?'
Svar:
Nyckelordet const är kvalet som används för att deklarera konstantvariabeln i C-språk.
Q3. Kan vi initiera konstantvariabeln efter deklarationen?
Svar:
Nej, vi kan inte initiera konstantvariabeln när den väl har deklarerats.
Q4. Vad är det rätta sättet att deklarera konstanten i C?
Svar:
Det rätta sättet att deklarera en konstant i C är att alltid initialisera konstantvariabeln när vi deklarerar.
F5. Vad är skillnaden mellan konstant definierad med hjälp av const qualifier och #define?
Svar:
Följande tabell listar skillnaderna mellan konstanterna som definierats med const qualifier och #define i C:
Konstanter som använder konst Konstanter som använder #define De är variablerna som är oföränderliga De är makron som ersätts av deras värde. De hanteras av kompilatorn. De hanteras av förprocessorn. Syntax: konst typ namn = värde ; Syntax: #definiera namnvärde
F6. Finns det något sätt att ändra värdet på en konstant variabel i C?
Svar:
Ja, vi kan dra fördel av kryphålet som skapas av pekare för att ändra värdet på en variabel som deklareras som en konstant i C. C-programmet nedan visar hur 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: 500Relaterad artikel – Const Qualifier i C