Le costanti in C sono le variabili di sola lettura i cui valori non possono essere modificati una volta dichiarati nel programma C. Il tipo di costante può essere una costante intera, una costante del puntatore mobile, una costante di stringa o una costante di carattere. Nel linguaggio C, il cost la parola chiave viene utilizzata per definire le costanti.
In questo articolo discuteremo delle costanti nella programmazione C, dei modi per definire le costanti in C, dei tipi di costanti in C, delle loro proprietà e della differenza tra letterali e costanti.
Cos'è una costante in C?
Come suggerisce il nome, una costante in C è una variabile che non può essere modificata una volta dichiarata nel programma. Non possiamo apportare alcuna modifica al valore delle variabili costanti dopo che sono state definite.
Come definire la costante in C?
Definiamo una costante nel linguaggio C utilizzando il metodo cost parola chiave. Conosciuta anche come qualificatore di tipo const, la parola chiave const viene posizionata all'inizio della dichiarazione di variabile per dichiarare tale variabile come costante.
Sintassi per definire la costante
const data_type var_name = value ;>

Esempio di costanti in C
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;> }> |
>
>Produzione
ricerca binaria in Java
Printing value of Integer Constant: 25 Printing value of Character Constant: A Printing value of Float Constant: 15.660000>
Una cosa da notare qui è che dobbiamo farlo inizializza le variabili costanti alla dichiarazione . Altrimenti, la variabile memorizzerà un valore spazzatura e non saremo in grado di modificarlo. L'immagine seguente descrive esempi di definizioni di variabili errate e corrette.

Tipi di costanti in C
Il tipo della costante è lo stesso del tipo di dati delle variabili. Di seguito è riportato l'elenco dei tipi di costanti
- Costante intera
- Costante del carattere
- Costante in virgola mobile
- Costante in virgola mobile a doppia precisione
- Costante di matrice
- Costante di struttura
Dobbiamo solo aggiungere la parola chiave const all'inizio della dichiarazione della variabile.
Proprietà della costante in C
Le proprietà importanti delle variabili costanti in C definite utilizzando la parola chiave const sono le seguenti:
1. Inizializzazione con dichiarazione
Possiamo inizializzare la variabile costante in C solo al momento della sua dichiarazione. Altrimenti, memorizzerà il valore spazzatura.
2. Immutabilità
Le variabili costanti in c sono immutabili dopo la sua definizione, ovvero possono essere inizializzate solo una volta nell'intero programma. Successivamente, non possiamo modificare il valore memorizzato all'interno di quella variabile.
C
np.istogramma
// 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;> }> |
>
>
Produzione
In function 'main': 10:9: error: assignment of read-only variable 'var' 10 | var = 20; | ^>
Differenza tra costanti e letterali
La costante e i valori letterali vengono spesso confusi come se fossero la stessa cosa. Ma nel linguaggio C sono entità diverse e hanno semantica diversa. La tabella seguente elenca le differenze tra costanti e valori letterali in C:
| Costante | Letterali |
|---|---|
| Le costanti sono variabili che non possono essere modificate una volta dichiarate. | I letterali sono i valori fissi che definiscono se stessi. |
| Le costanti vengono definite utilizzando la parola chiave const in C. Memorizzano valori letterali in se stesse. | Essi stessi sono i valori assegnati alle variabili o costanti. |
| Possiamo determinare l'indirizzo delle costanti. | Non possiamo determinare l'indirizzo di un letterale tranne che per una stringa letterale. |
| Sono lvalue. | Sono valori. |
| Esempio: const int c = 20. | Esempio: 24,15.5, 'a', Geeks, ecc. |
Definizione della costante utilizzando #define Preprocessor
Possiamo anche definire una costante in C usando #define preprocessore . Le costanti definite utilizzando #define sono macro che si comportano come una costante. Queste costanti non vengono gestite dal compilatore, vengono gestite dal preprocessore e vengono sostituite dal loro valore prima della compilazione.
#define const_name value>
Esempio di Macro Costante
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;> }> |
>
>Produzione
The value of pi: 3.14>
Nota: Questo metodo per definire la costante non è preferibile in quanto potrebbe introdurre bug e rendere difficile la manutenzione del codice.
Domande frequenti sulle costanti C
Q1. Definire le costanti C.
Risposta:
Le costanti in C sono le variabili immutabili i cui valori non possono essere modificati una volta dichiarati nel programma C.
Q2. Qual è l’uso della parola chiave const?’
Risposta:
La parola chiave const è il qualificatore utilizzato per dichiarare la variabile costante nel linguaggio C.
Q3. Possiamo inizializzare la variabile costante dopo la dichiarazione?
Risposta:
No, non possiamo inizializzare la variabile costante una volta dichiarata.
Q4. Qual è il modo giusto per dichiarare la costante in C?
Risposta:
Il modo giusto per dichiarare una costante in C è inizializzare sempre la variabile costante quando la dichiariamo.
Q5. Qual è la differenza tra costante definita utilizzando il qualificatore const e #define?
Risposta:
La tabella seguente elenca le differenze tra le costanti definite utilizzando il qualificatore const e #define in C:
Costanti che utilizzano const Costanti che utilizzano #define Sono le variabili immutabili Sono le macro che vengono sostituite dal loro valore. Sono gestiti dal compilatore. Sono gestiti dal preprocessore. Sintassi: cost tipo nome = valore ; Sintassi: #definire valore del nome
Q6. C'è un modo per modificare il valore di una variabile costante in C?
Risposta:
Sì, possiamo sfruttare la scappatoia creata dai puntatori per modificare il valore di una variabile dichiarata come costante in C. Il programma C seguente mostra come farlo.
C
nucleo microlitico
// 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;>}>>>ProduzioneInitial Value of Constant: 10 Final Value of Constant: 500>Articolo correlato – Qualificatore Const in C