logo

Constantele în C

Constantele din C sunt variabilele doar citite ale căror valori nu pot fi modificate odată ce sunt declarate în programul C. Tipul de constantă poate fi o constantă întreagă, o constantă cu indicator flotant, o constantă șir sau o constantă caracter. În limbajul C, const cuvântul cheie este folosit pentru a defini constantele.

În acest articol, vom discuta despre constantele din programarea C, modalitățile de definire a constantelor în C, tipurile de constante în C, proprietățile lor și diferența dintre literale și constante.



Ce este o constantă în C?

După cum sugerează și numele, o constantă în C este o variabilă care nu poate fi modificată odată ce este declarată în program. Nu putem face nicio modificare în valoarea variabilelor constante după ce acestea sunt definite.

Cum se definește constanta în C?

Definim o constantă în limbajul C folosind const cuvânt cheie. Cunoscut și ca un calificator de tip const, cuvântul cheie const este plasat la începutul declarației variabilei pentru a declara acea variabilă ca constantă.

Sintaxă pentru a defini constanta

const   data_type var_name   =   value  ;>

sintaxa constantelor în c



Exemplu de constante în C

C






șir java la număr întreg

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

>

>

Ieșire

Printing value of Integer Constant: 25 Printing value of Character Constant: A Printing value of Float Constant: 15.660000>

Un lucru de remarcat aici este că trebuie inițializați variabilele constante la declarare . În caz contrar, variabila va stoca o valoare necorespunzătoare și nu o vom putea modifica. Următoarea imagine descrie exemple de definiții incorecte și corecte ale variabilelor.

modul corect de a declara constantele în c

încercați structura de date

Tipuri de constante în C

Tipul constantei este același cu tipul de date al variabilelor. Mai jos este lista tipurilor de constante

  • Integer constant
  • Caracter constant
  • Constanta în virgulă flotantă
  • Constanta cu virgulă flotantă de precizie dublă
  • Array Constant
  • Structură constantă

Trebuie doar să adăugăm cuvântul cheie const la începutul declarației variabilei.

Proprietățile constantei în C

Proprietățile importante ale variabilelor constante în C definite folosind cuvântul cheie const sunt următoarele:

1. Inițializare cu Declarație

Putem inițializa variabila constantă în C doar în momentul declarării acesteia. În caz contrar, va stoca valoarea de gunoi.

2. Imuabilitate

Variabilele constante din c sunt imuabile după definirea acesteia, adică pot fi inițializate o singură dată în întregul program. După aceea, nu putem modifica valoarea stocată în interiorul acelei variabile.

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

>

>

sortați o listă de matrice

Ieșire

In function 'main': 10:9: error: assignment of read-only variable 'var' 10 | var = 20;  | ^>

Diferența dintre constante și literale

Constantele și literalele sunt adesea confundate ca aceleași. Dar în limbajul C, ele sunt entități diferite și au o semantică diferită. Următorul tabel listează diferențele dintre constante și literale din C:

Constant

Literale

Constantele sunt variabile care nu pot fi modificate odată declarate. Literale sunt valorile fixe care se definesc.
Constantele sunt definite folosind cuvântul cheie const în C. Ele stochează valori literale în sine. Ele însele sunt valorile care sunt atribuite variabilelor sau constantelor.
Putem determina adresa constantelor. Nu putem determina adresa unui literal, cu excepția literalului șir.
Sunt lvalori. Sunt valori r.
Exemplu: const int c = 20. Exemplu: 24,15.5, „a”, Geeks etc.

Definirea constantei folosind #define Preprocessor

De asemenea, putem defini o constantă în C folosind #define preprocesor . Constantele definite folosind #define sunt macrocomenzi care se comportă ca o constantă. Aceste constante nu sunt gestionate de compilator, sunt gestionate de preprocesor și sunt înlocuite cu valoarea lor înainte de compilare.

  #define     const_name     value>

Exemplu de macro constantă

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

>

>

Ieșire

The value of pi: 3.14>

Notă: Această metodă de definire a constantei nu este preferată deoarece poate introduce erori și poate face codul dificil de întreținut.

Verificarea java este nulă

Întrebări frecvente despre constantele C

Î1. Definiți constantele C.

Răspuns:

Constantele din C sunt variabilele imuabile ale căror valori nu pot fi modificate odată ce sunt declarate în programul C.

Q2. La ce folosește cuvântul cheie const?’

Răspuns:

Cuvântul cheie const este calificativul care este folosit pentru a declara variabila constantă în limbajul C.

Q3. Putem inițializa variabila constantă după declarație?

Răspuns:

Nu, nu putem inițializa variabila constantă odată ce este declarată.

Î4. Care este modalitatea corectă de a declara constanta în C?

Răspuns:

Modul corect de a declara o constantă în C este să inițializam întotdeauna variabila constantă atunci când declarăm.

Î5. Care este diferența dintre constanta definită folosind calificativul const și #define?

Răspuns:

Următorul tabel listează diferențele dintre constantele definite folosind calificativul const și #define în C:

Constante folosind const Constante folosind #define
Ele sunt variabilele care sunt imuabile Sunt macrocomenzile care sunt înlocuite cu valoarea lor.
Ele sunt gestionate de compilator. Acestea sunt gestionate de preprocesor.
Sintaxă: const tip nume = valoare ; Sintaxă: #defini valoarea numelui

Î6. Există vreo modalitate de a schimba valoarea unei variabile constante în C?

Răspuns:

Da, putem profita de lacuna creată de pointeri pentru a schimba valoarea unei variabile declarate ca constantă în C. Programul C de mai jos demonstrează cum se face acest lucru.

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

valoarea java a șirului
>

>

Ieșire

Initial Value of Constant: 10 Final Value of Constant: 500>

Articol înrudit – Calificarea const în C