logo

Konstanter i C

Konstanterne i C er de skrivebeskyttede variable, hvis værdier ikke kan ændres, når de først er erklæret i C-programmet. Typen af ​​konstant kan være en heltalskonstant, en flydende pointerkonstant, en strengkonstant eller en tegnkonstant. I C-sprog er konst nøgleordet bruges til at definere konstanterne.

I denne artikel vil vi diskutere konstanterne i C-programmering, måder at definere konstanter i C, typer af konstanter i C, deres egenskaber og forskellen mellem bogstaver og konstanter.



Hvad er en konstant i C?

Som navnet antyder, er en konstant i C en variabel, der ikke kan ændres, når den først er erklæret i programmet. Vi kan ikke foretage nogen ændring i værdien af ​​de konstante variable, efter at de er defineret.

Hvordan defineres konstant i C?

Vi definerer en konstant i C-sprog ved hjælp af konst søgeord. Også kendt som en const type qualifier, er nøgleordet const placeret i starten af ​​variabelerklæringen for at erklære denne variabel som en konstant.

Syntaks til at definere konstant

const   data_type var_name   =   value  ;>

syntaks af konstanter i c



Eksempel på konstanter i C

C






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

>

>

Produktion

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

En ting at bemærke her er, at vi er nødt til det initialisere de konstante variable ved deklaration . Ellers vil variablen gemme en vis skraldværdi, og vi vil ikke være i stand til at ændre den. Følgende billede beskriver eksempler på forkerte og korrekte variabeldefinitioner.

rigtige måde at erklære konstanter i c

Typer af konstanter i C

Typen af ​​konstanten er den samme som datatypen for variablerne. Følgende er listen over typer konstanter

  • Heltal konstant
  • Karakter konstant
  • Flydende punkt konstant
  • Dobbelt præcision flydende punkt konstant
  • Array Konstant
  • Konstant struktur

Vi skal blot tilføje nøgleordet const i starten af ​​variabeldeklarationen.

Egenskaber af konstant i C

De vigtige egenskaber ved konstante variable i C defineret ved hjælp af nøgleordet const er som følger:

1. Initialisering med erklæring

Vi kan kun initialisere konstantvariablen i C på tidspunktet for dens erklæring. Ellers vil den gemme skraldværdien.

2. Uforanderlighed

De konstante variable i c er uforanderlige efter dens definition, dvs. de kan kun initialiseres én gang i hele programmet. Derefter kan vi ikke ændre værdien, der er gemt i den pågældende variabel.

C


ellers java



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

>

>

Produktion

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

Forskellen mellem konstanter og bogstaver

Konstanten og bogstaverne forveksles ofte som det samme. Men i C-sprog er de forskellige entiteter og har forskellig semantik. Følgende tabel viser forskellene mellem konstanterne og bogstaverne i C:

Konstant

Bogstaver

Konstanter er variabler, der ikke kan ændres, når de først er deklareret. Bogstaver er de faste værdier, der definerer sig selv.
Konstanter defineres ved at bruge nøgleordet const i C. De gemmer bogstavelige værdier i sig selv. De er selv de værdier, der er tildelt variablerne eller konstanterne.
Vi kan bestemme adressen på konstanter. Vi kan ikke bestemme adressen på en literal undtagen streng literal.
De er lværdier. De er rværdier.
Eksempel: const int c = 20. Eksempel: 24,15,5, 'a', nørder osv.

Definere konstant ved hjælp af #define Preprocessor

Vi kan også definere en konstant i C vha #define preprocessor . Konstanterne defineret ved hjælp af #define er makroer, der opfører sig som en konstant. Disse konstanter håndteres ikke af compileren, de håndteres af præprocessoren og erstattes af deres værdi før kompilering.

  #define     const_name     value>

Eksempel på konstant makro

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

>

>

Produktion

The value of pi: 3.14>

Bemærk: Denne metode til at definere konstant foretrækkes ikke, da den kan introducere fejl og gøre koden svær at vedligeholde.

Ofte stillede spørgsmål om C-konstanter

Q1. Definer C-konstanter.

Svar:

Konstanter i C er de uforanderlige variabler, hvis værdier ikke kan ændres, når de først er erklæret i C-programmet.

Q2. Hvad er brugen af ​​søgeordet const?'

Svar:

Nøgleordet const er kvalifikationen, der bruges til at erklære konstantvariablen i C-sprog.

Q3. Kan vi initialisere konstantvariablen efter erklæringen?

Svar:

Nej, vi kan ikke initialisere konstantvariablen, når den først er erklæret.

Q4. Hvad er den rigtige måde at erklære konstanten i C?

Svar:

Den rigtige måde at erklære en konstant i C er altid at initialisere konstantvariablen, når vi erklærer.

Q5. Hvad er forskellen mellem konstant defineret ved hjælp af const qualifier og #define?

Svar:

Følgende tabel viser forskellene mellem konstanterne defineret ved hjælp af const qualifier og #define i C:

Konstanter ved hjælp af konst Konstanter ved hjælp af #define
Det er de variable, der er uforanderlige Det er de makroer, der erstattes af deres værdi.
De håndteres af compileren. De håndteres af præprocessoren.
Syntaks: konst type navn = værdi ; Syntaks: #Definere navneværdi

Q6. Er der nogen måde at ændre værdien af ​​en konstant variabel i C?

Svar:

Ja, vi kan drage fordel af smuthullet skabt af pointere til at ændre værdien af ​​en variabel, der er erklæret som en konstant i C. Nedenstående C-program viser, hvordan man gør det.

hashing i datastruktur

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

>

>

Produktion

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

Relateret artikel – Const Qualifier i C