Konstante v C so spremenljivke samo za branje, katerih vrednosti ni mogoče spremeniti, ko so deklarirane v programu C. Tip konstante je lahko celoštevilska konstanta, konstanta plavajočega kazalca, konstanta niza ali konstanta znakov. V jeziku C je konst ključna beseda se uporablja za definiranje konstant.
V tem članku bomo razpravljali o konstantah v programiranju C, načinih definiranja konstant v C, vrstah konstant v C, njihovih lastnostih in razliki med literali in konstantami.
Kaj je konstanta v C?
Kot že ime pove, je konstanta v C spremenljivka, ki je ni mogoče spremeniti, ko je deklarirana v programu. Vrednosti konstantnih spremenljivk, potem ko so definirane, ne moremo spremeniti.
globalna spremenljivka javascript
Kako definirati konstanto v C?
Konstanto v jeziku C definiramo z uporabo konst ključna beseda. Znana tudi kot kvalifikator tipa const, je ključna beseda const postavljena na začetek deklaracije spremenljivke, da to spremenljivko deklarira kot konstanto.
Sintaksa za definiranje konstante
const data_type var_name = value ;>

Primer konstant v 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;> }> |
>
>Izhod
Printing value of Integer Constant: 25 Printing value of Character Constant: A Printing value of Float Constant: 15.660000>
Ena stvar, ki jo je treba opozoriti, je, da moramo inicializirajte konstantne spremenljivke ob deklaraciji . V nasprotnem primeru bo spremenljivka shranila nekaj smeti in je ne bomo mogli spremeniti. Naslednja slika opisuje primere nepravilnih in pravilnih definicij spremenljivk.

Vrste konstant v C
Tip konstante je enak podatkovnemu tipu spremenljivk. Sledi seznam vrst konstant
- Integer Constant
- Znakovna konstanta
- Konstanta plavajoče vejice
- Konstanta plavajoče vejice dvojne natančnosti
- Konstanta polja
- Strukturna konstanta
Dodati moramo samo ključno besedo const na začetku deklaracije spremenljivke.
Lastnosti konstante v C
Pomembne lastnosti konstantnih spremenljivk v C, definiranih s ključno besedo const, so naslednje:
1. Inicializacija z deklaracijo
Konstantno spremenljivko lahko inicializiramo samo v C v času njene deklaracije. V nasprotnem primeru bo shranil vrednost smeti.
2. Nespremenljivost
Konstantne spremenljivke v c so po njegovi definiciji nespremenljive, kar pomeni, da jih je mogoče inicializirati samo enkrat v celotnem programu. Po tem ne moremo spremeniti vrednosti, shranjene v tej spremenljivki.
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;> }> |
>
>
Izhod
In function 'main': 10:9: error: assignment of read-only variable 'var' 10 | var = 20; | ^>
Razlika med konstantami in literali
Konstanta in literali se pogosto zamenjujejo kot enaki. Toda v jeziku C so različne entitete in imajo različno semantiko. Naslednja tabela navaja razlike med konstantami in literali v C:
| Konstanta | Literali |
|---|---|
| Konstante so spremenljivke, ki jih po deklaraciji ni mogoče spreminjati. | Literali so fiksne vrednosti, ki se same definirajo. |
| Konstante so definirane z uporabo ključne besede const v C. V sebi shranjujejo dobesedne vrednosti. | Sami so vrednosti, ki so dodeljene spremenljivkam ali konstantam. |
| Lahko določimo naslov konstant. | Ne moremo določiti naslova literala, razen literala niza. |
| So vrednote. | So rvrednosti. |
| Primer: const int c = 20. | Primer: 24, 15,5, 'a', Geeks itd. |
Definiranje konstante s predprocesorjem #define
Konstanto lahko definiramo tudi v C z uporabo #določite predprocesor . Konstante, definirane z #define, so makri, ki se obnašajo kot konstanta. Teh konstant ne obravnava prevajalnik, ampak jih obravnava predprocesor in jih pred prevajanjem nadomesti njihova vrednost.
#define const_name value>
Primer konstantnega makra
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;> }> |
>
>Izhod
The value of pi: 3.14>
Opomba: Ta metoda za definiranje konstante ni zaželena, saj lahko povzroči hrošče in oteži vzdrževanje kode.
Pogosta vprašanja o C konstantah
Q1. Definirajte C konstante.
odgovor:
Konstante v C so nespremenljive spremenljivke, katerih vrednosti ni mogoče spreminjati, ko so deklarirane v programu C.
Q2. Kakšna je uporaba ključne besede const?'
odgovor:
Ključna beseda const je kvalifikator, ki se uporablja za deklaracijo konstantne spremenljivke v jeziku C.
Q3. Ali lahko po deklaraciji inicializiramo konstantno spremenljivko?
odgovor:
koliko ničel v 1 milijardi
Ne, ne moremo inicializirati konstantne spremenljivke, ko je deklarirana.
Q4. Kakšen je pravi način za deklaracijo konstante v C?
odgovor:
Pravi način za deklaracijo konstante v C je, da vedno inicializiramo konstantno spremenljivko, ko deklariramo.
V5. Kakšna je razlika med konstanto, definirano s kvalifikatorjem const, in #define?
odgovor:
V naslednji tabeli so navedene razlike med konstantami, definiranimi s kvalifikatorjem const in #define v C:
Konstante, ki uporabljajo const Konstante z uporabo #define So spremenljivke, ki so nespremenljive So makri, ki jih nadomesti njihova vrednost. Z njimi se ukvarja prevajalnik. Z njimi upravlja predprocesor. Sintaksa: konst ime tipa = vrednost ; Sintaksa: #definiraj vrednost imena
V6. Ali obstaja način za spremembo vrednosti konstantne spremenljivke v C?
odgovor:
Da, lahko izkoristimo vrzel, ki jo ustvarijo kazalci, da spremenimo vrednost spremenljivke, deklarirane kot konstanta v C. Spodnji program C prikazuje, kako to storiti.
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;>}>>>IzhodInitial Value of Constant: 10 Final Value of Constant: 500>Sorodni članek – Const Qualifier v C