C:n vakiot ovat vain luku -muuttujia, joiden arvoja ei voi muuttaa, kun ne on ilmoitettu C-ohjelmassa. Vakion tyyppi voi olla kokonaislukuvakio, kelluvan osoittimen vakio, merkkijonovakio tai merkkivakio. C-kielellä konst avainsanaa käytetään vakioiden määrittämiseen.
Tässä artikkelissa keskustelemme C-ohjelmoinnin vakioista, tavoista määrittää C:n vakiot, C:n vakiotyypeistä, niiden ominaisuuksista sekä literaalien ja vakioiden eroista.
Mikä on vakio C:ssä?
Kuten nimestä voi päätellä, C:n vakio on muuttuja, jota ei voi muokata, kun se on ilmoitettu ohjelmassa. Emme voi tehdä muutoksia vakiomuuttujien arvoon niiden määrittämisen jälkeen.
Kuinka määritellä vakio C:ssä?
Määrittelemme vakion C-kielellä käyttämällä konst avainsana. Tunnetaan myös const-tyypin tarkenteena, const-avainsana sijoitetaan muuttujan ilmoituksen alkuun ilmoittamaan muuttuja vakiona.
Syntaksi vakion määrittämiseksi
const data_type var_name = value ;>

Esimerkki C:n vakioista
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;> }> |
>
>Lähtö
Printing value of Integer Constant: 25 Printing value of Character Constant: A Printing value of Float Constant: 15.660000>
Yksi asia on huomioitava tässä, että meidän on pakko alusta vakiomuuttujat ilmoituksen yhteydessä . Muutoin muuttuja tallentaa jonkin verran roskaarvoa, emmekä voi muuttaa sitä. Seuraava kuva kuvaa esimerkkejä virheellisistä ja oikeista muuttujien määritelmistä.

C:n vakiotyypit
Vakion tyyppi on sama kuin muuttujien tietotyyppi. Seuraavassa on luettelo vakiotyypeistä
- Kokonaisluku Vakio
- Merkkivakio
- Liukulukuvakio
- Double Precision Floating Point Constant
- Array Constant
- Rakennevakio
Meidän on vain lisättävä const-avainsana muuttujan ilmoituksen alkuun.
C:n vakion ominaisuudet
Const-avainsanalla määriteltyjen C:n vakiomuuttujien tärkeät ominaisuudet ovat seuraavat:
1. Alustaminen ilmoituksella
Voimme vain alustaa vakiomuuttujan C:ssä sen ilmoittamishetkellä. Muuten se tallentaa roskat arvon.
2. Muuttumattomuus
C:n vakiomuuttujat ovat muuttumattomia sen määritelmän jälkeen, eli ne voidaan alustaa vain kerran koko ohjelmassa. Tämän jälkeen emme voi muokata muuttujan sisään tallennettua arvoa.
C
kuinka muuntaa merkkijono int javaksi
// 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;> }> |
>
>
Lähtö
In function 'main': 10:9: error: assignment of read-only variable 'var' 10 | var = 20; | ^>
Ero vakioiden ja kirjainten välillä
Vakio ja literaalit sekoitetaan usein samaksi. Mutta C-kielessä ne ovat erilaisia olioita ja niillä on erilainen semantiikka. Seuraavassa taulukossa luetellaan C:n vakioiden ja literaalien väliset erot:
| Jatkuva | Literaalit |
|---|---|
| Vakiot ovat muuttujia, joita ei voi muuttaa kerran ilmoitettuna. | Literaalit ovat kiinteitä arvoja, jotka määrittelevät itsensä. |
| Vakiot määritellään C:n const-avainsanalla. Ne tallentavat kirjaimellisia arvoja itsessään. | Ne ovat itse arvoja, jotka on määritetty muuttujille tai vakioille. |
| Voimme määrittää vakioiden osoitteet. | Emme voi määrittää literaalin osoitetta paitsi merkkijonoliteraalia. |
| Ne ovat arvoja. | Ne ovat arvoja. |
| Esimerkki: const int c = 20. | Esimerkki: 24,15.5, 'a', Geeks jne. |
Vakion määrittäminen #define Preprocessorilla
Voimme myös määrittää vakion C:ssä käyttämällä #määritä esiprosessori . #define-komennolla määritetyt vakiot ovat makroja, jotka toimivat vakiona. Kääntäjä ei käsittele näitä vakioita, ne käsittelee esiprosessori ja korvataan niiden arvolla ennen kääntämistä.
#define const_name value>
Esimerkki vakiomakrosta
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;> }> |
>
>Lähtö
The value of pi: 3.14>
Huomautus: Tämä vakion määrittelytapa ei ole suositeltava, koska se voi aiheuttaa virheitä ja vaikeuttaa koodin ylläpitoa.
Usein kysytyt kysymykset C-vakioista
Q1. Määrittele C-vakiot.
Vastaus:
C:n vakiot ovat muuttumattomia muuttujia, joiden arvoja ei voi muuttaa, kun ne on ilmoitettu C-ohjelmassa.
Q2. Mitä hyötyä const-avainsanasta on?'
Vastaus:
Const-avainsana on tarkenne, jota käytetään vakiomuuttujan ilmoittamiseen C-kielellä.
Q3. Voidaanko vakiomuuttuja alustaa ilmoituksen jälkeen?
Vastaus:
kuka on freddie mercury
Ei, emme voi alustaa vakiomuuttujaa, kun se on ilmoitettu.
Q4. Mikä on oikea tapa ilmoittaa vakio C:ssä?
Vastaus:
Oikea tapa ilmoittaa vakio C:ssä on alustaa vakiomuuttuja aina kun julistamme.
Q5. Mitä eroa on const-määritteen avulla määritetyn vakion ja #define välillä?
Vastaus:
Seuraavassa taulukossa luetellaan C:ssä const-tunnisteen ja #define:n avulla määritettyjen vakioiden väliset erot:
Vakiot käyttämällä const Vakiot käyttämällä #define Ne ovat muuttujia, jotka ovat muuttumattomia Ne ovat makroja, jotka korvataan niiden arvolla. Ne käsittelee kääntäjä. Esikäsittelijä käsittelee niitä. Syntaksi: konst tyypin nimi = arvo ; Syntaksi: #määritellä nimen arvo
Q6. Onko mitään tapaa muuttaa vakiomuuttujan arvoa C:ssä?
Vastaus:
Kyllä, voimme hyödyntää osoittimien luomaa porsaanreikää muuttaaksemme C:ssä vakioksi ilmoitettua muuttujan arvoa. Alla oleva C-ohjelma näyttää, kuinka se tehdään.
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;>}>>>LähtöInitial Value of Constant: 10 Final Value of Constant: 500>Aiheeseen liittyvä artikkeli - Const-karsinta C-sarjassa