logo

const rodyklė C

Nuolatiniai rodyklės

Pastovi C žymeklis negali pakeisti kintamojo, į kurį jis nukreipia, adreso, ty adresas išliks pastovus. Todėl galime teigti, kad jei pastovi žymeklis rodo į kokį nors kintamąjį, tai jis negali nurodyti jokio kito kintamojo.

Pastovios rodyklės sintaksė

 *const ; 

Toliau pateikiama pastovios rodyklės deklaracija:

Linux pakeitimo failas
 int *const ptr; 

Supraskime nuolatinę žymeklį per pavyzdį.

 #include int main() { int a=1; int b=2; int *const ptr; ptr=&a; ptr=&b; printf('Value of ptr is :%d',*ptr); return 0; } 

Aukščiau pateiktame kode:

  • Mes deklaruojame du kintamuosius, ty a ir b, kurių reikšmės yra atitinkamai 1 ir 2.
  • Mes deklaruojame pastovų rodyklę.
  • Pirmiausia žymekliui „ptr“ priskiriame kintamojo „a“ adresą.
  • Tada žymekliui „ptr“ priskiriame kintamojo „b“ adresą.
  • Galiausiai bandome atspausdinti kintamojo, nurodyto „ptr“, reikšmę.

Išvestis

const rodyklė C

Aukščiau pateiktoje išvestyje galime pastebėti, kad aukščiau pateiktas kodas sukuria klaidą „tik skaitomo kintamojo ptr priskyrimas“. Tai reiškia, kad kintamojo „ptr“ reikšmė, kurią turi „ptr“, negali būti pakeista. Aukščiau pateiktame kode mes keičiame „ptr“ reikšmę iš &a į &b, o tai neįmanoma naudojant nuolatines rodykles. Todėl galime sakyti, kad pastovioji rodyklė, nurodanti į kokį nors kintamąjį, negali nurodyti kito kintamojo.

Rodyklė į konstantą

Rodyklė į konstantą yra žymeklis, per kurį negalima pakeisti kintamojo, kurį nurodo žymeklis, reikšmė. Šių rodyklių adresas gali būti keičiamas, tačiau kintamojo, į kurį nukreipia žymeklis, reikšmės keisti negalima.

Rodyklės į konstanta sintaksė

 const * 

Rodyklės į konstantą deklaracija pateikta žemiau:

 const int* ptr; 

Supraskime per pavyzdį.

    Pirmiausia parašome kodą, kuriame keičiame rodyklės reikšmę
 #include int main() { int a=100; int b=200; const int* ptr; ptr=&a; ptr=&b; printf('Value of ptr is :%u',ptr); return 0; } 

Aukščiau pateiktame kode:

  • Mes deklaruojame du kintamuosius, ty a ir b, kurių reikšmės yra atitinkamai 100 ir 200.
  • Paskelbiame rodyklę į konstantą.
  • Pirmiausia žymekliui „ptr“ priskiriame kintamojo „a“ adresą.
  • Tada žymekliui „ptr“ priskiriame kintamojo „b“ adresą.
  • Galiausiai bandome atspausdinti „ptr“ reikšmę.

Išvestis

const rodyklė C

Aukščiau pateiktas kodas sėkmingai veikia ir išvestyje rodo „ptr“ reikšmę.

  • Dabar parašome kodą, kuriame keičiame kintamojo, į kurį nukreipia žymeklis, reikšmę.
 #include int main() { int a=100; int b=200; const int* ptr; ptr=&b; *ptr=300; printf('Value of ptr is :%d',*ptr); return 0; } 

Aukščiau pateiktame kode:

istorija java
  • Mes deklaruojame du kintamuosius, ty „a“ ​​ir „b“, kurių reikšmės yra atitinkamai 100 ir 200.
  • Paskelbiame rodyklę į konstantą.
  • Rodikliui 'ptr' priskiriame kintamojo 'b' adresą.
  • Tada bandome pakeisti kintamojo „b“ reikšmę naudodami žymeklį „ptr“.
  • Galiausiai bandome atspausdinti kintamojo reikšmę, kurią nurodo rodyklė „ptr“.

Išvestis

const rodyklė C

Aukščiau pateiktas kodas rodo klaidą „tik skaitomos vietos priskyrimas „*ptr“. Ši klaida reiškia, kad negalime pakeisti kintamojo, į kurį nukreipia žymeklis, reikšmės.

Pastovus žymeklis į konstantą

Pastovi žymeklis į konstantą yra rodyklė, kuri yra dviejų pirmiau minėtų rodyklių derinys. Jis negali pakeisti nei kintamojo, į kurį jis nukreipia, adreso, nei gali pakeisti šiuo adresu pateiktos reikšmės.

Sintaksė

 const * const ; 

Konstantos rodyklės į konstantą deklaracija pateikiama toliau:

 const int* const ptr; 

Supraskime per pavyzdį.

 #include int main() { int a=10; int b=90; const int* const ptr=&a; *ptr=12; ptr=&b; printf('Value of ptr is :%d',*ptr); return 0; } 

Aukščiau pateiktame kode:

  • Mes deklaruojame du kintamuosius, ty „a“ ​​ir „b“, kurių reikšmės yra atitinkamai 10 ir 90.
  • Mes deklaruojame pastovią žymeklį į konstantą ir tada priskiriame „a“ adresą.
  • Mes bandome pakeisti kintamojo 'a' reikšmę per rodyklę 'ptr'.
  • Tada mes bandome priskirti kintamojo 'b' adresą rodyklei 'ptr'.
  • Galiausiai išspausdiname kintamojo reikšmę, kurią nurodo rodyklė „ptr“.

Išvestis

const rodyklė C

Aukščiau pateiktas kodas rodo klaidą „tik skaitomos vietos priskyrimas „*ptr“ ir „tik skaitomo kintamojo „ptr“ priskyrimas“. Todėl darome išvadą, kad konstantos rodyklė į konstantą negali pakeisti nei adreso, nei reikšmės, kuri yra nukreipta šiuo žymekliu.