logo

Konstanter i C

Konstanterna i C är de skrivbara variablerna vars värden inte kan ändras när de väl har deklarerats i C-programmet. Typen av konstant kan vara en heltalskonstant, en flytande pekarkonstant, en strängkonstant eller en teckenkonstant. I C-språket konst nyckelord används för att definiera konstanterna.

I den här artikeln kommer vi att diskutera konstanterna i C-programmering, sätt att definiera konstanter i C, typer av konstanter i C, deras egenskaper och skillnaden mellan bokstaver och konstanter.



Vad är en konstant i C?

Som namnet antyder är en konstant i C en variabel som inte kan ändras när den väl har deklarerats i programmet. Vi kan inte göra någon förändring i värdet på de konstanta variablerna efter att de har definierats.

Hur definierar man konstant i C?

Vi definierar en konstant i C-språket med hjälp av konst nyckelord. Även känd som en kvalificerare av typen const placeras nyckelordet const i början av variabeldeklarationen för att deklarera variabeln som en konstant.

java 8 funktioner

Syntax för att definiera konstant

const   data_type var_name   =   value  ;>

syntax för konstanter i c



Exempel på konstanter i 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;> }>

>

>

Produktion

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

En sak att notera här är att vi måste initiera konstantvariablerna vid deklaration . Annars kommer variabeln att lagra ett skräpvärde och vi kommer inte att kunna ändra det. Följande bild beskriver exempel på felaktiga och korrekta variabeldefinitioner.

rätt sätt att deklarera konstanter i c

Typer av konstanter i C

Typen av konstanten är densamma som datatypen för variablerna. Följande är listan över typerna av konstanter

  • Heltal konstant
  • Karaktärskonstant
  • Flytpunktskonstant
  • Dubbel precision flytande punkt konstant
  • Array Konstant
  • Konstant struktur

Vi behöver bara lägga till nyckelordet const i början av variabeldeklarationen.

när kom vinst 7 ut

Egenskaper av konstant i C

De viktiga egenskaperna hos konstantvariabler i C definierade med nyckelordet const är följande:

1. Initiering med deklaration

Vi kan bara initiera konstantvariabeln i C vid tidpunkten för dess deklaration. Annars kommer den att lagra skräpvärdet.

2. Oföränderlighet

De konstanta variablerna i c är oföränderliga efter dess definition, det vill säga de kan initieras endast en gång i hela programmet. Efter det kan vi inte ändra värdet som lagras i den variabeln.

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

>

>

Produktion

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

Skillnaden mellan konstanter och bokstaver

Konstanten och bokstavliga ord blandas ofta ihop som samma. Men i C-språket är de olika enheter och har olika semantik. Följande tabell listar skillnaderna mellan konstanterna och literalerna i C:

Konstant

Bokstäver

Konstanter är variabler som inte kan ändras när de väl har deklarerats. Literals är de fasta värden som definierar sig själva.
Konstanter definieras genom att använda nyckelordet const i C. De lagrar bokstavliga värden i sig själva. De är själva de värden som tilldelas variablerna eller konstanterna.
Vi kan bestämma adressen för konstanter. Vi kan inte bestämma adressen för en literal förutom strängliteral.
De är lvärden. De är rvärden.
Exempel: const int c = 20. Exempel: 24,15,5, 'a', nördar, etc.

Definiera konstant med #define Preprocessor

Vi kan också definiera en konstant i C med hjälp av #define förprocessor . Konstanterna som definieras med #define är makron som beter sig som en konstant. Dessa konstanter hanteras inte av kompilatorn, de hanteras av förprocessorn och ersätts av deras värde före kompilering.

  #define     const_name     value>

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

Notera: Denna metod för att definiera konstant är inte att föredra eftersom den kan introducera buggar och göra koden svår att underhålla.

windows kommando arp

Vanliga frågor om C-konstanter

Q1. Definiera C-konstanter.

Svar:

Konstanter i C är de oföränderliga variablerna vars värden inte kan ändras när de väl har deklarerats i C-programmet.

Q2. Vad är nyttan med nyckelordet const?'

Svar:

Nyckelordet const är kvalet som används för att deklarera konstantvariabeln i C-språk.

Q3. Kan vi initiera konstantvariabeln efter deklarationen?

Svar:

Nej, vi kan inte initiera konstantvariabeln när den väl har deklarerats.

Q4. Vad är det rätta sättet att deklarera konstanten i C?

Svar:

Det rätta sättet att deklarera en konstant i C är att alltid initialisera konstantvariabeln när vi deklarerar.

F5. Vad är skillnaden mellan konstant definierad med hjälp av const qualifier och #define?

Svar:

Följande tabell listar skillnaderna mellan konstanterna som definierats med const qualifier och #define i C:

Konstanter som använder konst Konstanter som använder #define
De är variablerna som är oföränderliga De är makron som ersätts av deras värde.
De hanteras av kompilatorn. De hanteras av förprocessorn.
Syntax: konst typ namn = värde ; Syntax: #definiera namnvärde

F6. Finns det något sätt att ändra värdet på en konstant variabel i C?

Svar:

Ja, vi kan dra fördel av kryphålet som skapas av pekare för att ändra värdet på en variabel som deklareras som en konstant i C. C-programmet nedan visar hur man gör det.

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

jasmine davis som barn

>

>

Produktion

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

Relaterad artikel – Const Qualifier i C