Konstantos C
C konstantos yra tik skaitomi kintamieji, kurių reikšmių negalima keisti, kai jos yra deklaruojamos C programoje. Konstantos tipas gali būti sveikojo skaičiaus konstanta, slankiojo rodyklės konstanta, eilutės konstanta arba simbolių konstanta. C kalba, konst Konstantoms apibrėžti naudojamas raktinis žodis.
Šiame straipsnyje aptarsime C programavimo konstantas, būdus, kaip apibrėžti konstantas C, konstantų tipus C, jų savybes ir skirtumą tarp literalų ir konstantų.
Kas yra C konstanta?
Kaip rodo pavadinimas, C konstanta yra kintamasis, kurio negalima keisti, kai jis yra paskelbtas programoje. Negalime keisti pastovių kintamųjų reikšmės po to, kai jie yra apibrėžti.
Kaip apibrėžti konstantą C?
Konstantą C kalba apibrėžiame naudodami konst raktažodį. Taip pat žinomas kaip const tipo kvalifikatorius, raktinis žodis const dedamas kintamojo deklaracijos pradžioje, kad kintamasis būtų paskelbtas konstanta.
Sintaksė konstantai apibrėžti
const data_type var_name = value ;
C konstantų pavyzdys
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;> }> |
Išvestis
Printing value of Integer Constant: 25 Printing value of Character Constant: A Printing value of Float Constant: 15.660000
Vienas dalykas, į kurį reikia atkreipti dėmesį, yra tai, kad turime deklaruodami inicijuokite pastovius kintamuosius . Priešingu atveju kintamasis išsaugos tam tikrą šiukšlių reikšmę ir mes negalėsime jos pakeisti. Toliau pateiktame paveikslėlyje aprašomi neteisingų ir teisingų kintamųjų apibrėžimų pavyzdžiai.
C konstantų tipai
Konstantos tipas yra toks pat kaip ir kintamųjų duomenų tipas. Toliau pateikiamas konstantų tipų sąrašas
- Sveikasis skaičius Konstanta
- Charakteris pastovus
- Slankaus kablelio konstanta
- Dvigubo tikslumo slankiojo kablelio konstanta
- Masyvo konstanta
- Struktūra Konstanta
Mes tiesiog turime pridėti raktinį žodį const kintamojo deklaracijos pradžioje.
Konstantos savybės C
Svarbios C pastovių kintamųjų savybės, apibrėžtos naudojant const raktinį žodį, yra šios:
1. Inicializavimas su deklaracija
C pastovų kintamąjį galime inicijuoti tik jo deklaravimo metu. Priešingu atveju ji išsaugos šiukšlių vertę.
2. Nekintamumas
C pastovūs kintamieji po jo apibrėžimo yra nekintantys, ty juos galima inicijuoti tik vieną kartą visoje programoje. Po to negalime keisti tame kintamajame saugomos reikšmės.
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;> }> |
Išvestis
In function 'main': 10:9: error: assignment of read-only variable 'var' 10 | var = 20; | ^
Skirtumas tarp konstantų ir raidžių
Konstanta ir pažodiniai žodžiai dažnai painiojami kaip tas pats. Tačiau C kalba jie yra skirtingi subjektai ir turi skirtingą semantiką. Šioje lentelėje pateikiami skirtumai tarp konstantų ir literalų C:
| Pastovus | Literatai |
|---|---|
| Konstantos yra kintamieji, kurių paskelbus negalima modifikuoti. | Literalai yra fiksuotos vertės, kurios apibrėžia save. |
| Konstantos apibrėžiamos naudojant C raktažodį const. Jos išsaugo pažodines reikšmes. | Jie patys yra reikšmės, kurios priskiriamos kintamiesiems arba konstantoms. |
| Galime nustatyti konstantų adresą. | Negalime nustatyti literalo adreso, išskyrus eilutės literalą. |
| Jie yra vertybės. | Jie yra vertybės. |
| Pavyzdys: const int c = 20. | Pavyzdys: 24,15.5, „a“, „Geeks“ ir kt. |
Konstantos apibrėžimas naudojant #define Preprocessor
Taip pat galime apibrėžti C konstantą naudodami #define pirminį procesorių . Konstantos, apibrėžtos naudojant #define, yra makrokomandos, kurios veikia kaip konstanta. Šių konstantų netvarko kompiliatorius, jas tvarko pirminis procesorius ir prieš kompiliavimą pakeičia jų verte.
#define const_name value
Pastovios makrokomandos pavyzdys
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;> }> |
Išvestis
The value of pi: 3.14
Pastaba: Šis konstantos apibrėžimo metodas nėra pageidautinas, nes jis gali sukelti klaidų ir apsunkinti kodo priežiūrą.
DUK apie C konstantas
Q1. Apibrėžkite C konstantas.
Atsakymas:
C konstantos yra nekintantys kintamieji, kurių reikšmių negalima keisti, kai jos yra deklaruojamos C programoje.
Q2. Kam reikalingas raktinis žodis const?
Atsakymas:
Const raktinis žodis yra kvalifikatorius, naudojamas deklaruoti pastovų kintamąjį C kalba.
Q3. Ar galime inicijuoti pastovųjį kintamąjį po deklaracijos?
Atsakymas:
Ne, mes negalime inicijuoti pastovaus kintamojo, kai jis yra paskelbtas.
4 klausimas. Koks yra teisingas būdas deklaruoti konstantą C?
Atsakymas:
Teisingas būdas deklaruoti konstantą C yra visada inicijuoti pastovų kintamąjį, kai deklaruojame.
Q5. Kuo skiriasi konstanta, apibrėžta naudojant const kvalifikatorių, ir #define?
Atsakymas:
Šioje lentelėje pateikiami skirtumai tarp konstantų, apibrėžtų naudojant const kvalifikatorių ir #define C:
Konstantos naudojant konst Konstantos naudojant #define Tai yra kintamieji, kurie yra nekintantys Tai makrokomandos, kurias pakeičia jų vertė. Juos tvarko kompiliatorius. Juos tvarko pirminis procesorius. Sintaksė: konst tipo pavadinimas = reikšmė ; Sintaksė: #apibrėžti vardo vertė
6 klausimas. Ar yra koks nors būdas pakeisti pastovaus kintamojo reikšmę C?
Atsakymas:
Taip, galime pasinaudoti rodyklių sukurta spraga, kad pakeistume kintamojo, deklaruoto kaip konstanta C, reikšmę. Toliau pateikta C programa parodo, kaip tai padaryti.
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;>}>
Išvestis
Initial Value of Constant: 10 Final Value of Constant: 500Susijęs straipsnis – Const kvalifikacija C