logo

C:n vakiot

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  ;>

c:n vakioiden syntaksi



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ä.

oikea tapa ilmoittaa vakiot c:ssä

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