logo

Costanti in C

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

sintassi delle costanti in c



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.

modo giusto di dichiarare le costanti in c

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

>

>

Produzione

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

Articolo correlato – Qualificatore Const in C