Stałe w C są zmiennymi tylko do odczytu, których wartości nie można modyfikować po ich zadeklarowaniu w programie C. Typ stałej może być stałą całkowitą, stałą zmiennoprzecinkową, stałą łańcuchową lub stałą znakową. W języku C, konst Słowo kluczowe służy do definiowania stałych.
W tym artykule omówimy stałe w programowaniu w C, sposoby definiowania stałych w C, rodzaje stałych w C, ich właściwości oraz różnicę między literałami i stałymi.
Co to jest stała w C?
Jak sama nazwa wskazuje, stała w C jest zmienną, której nie można modyfikować po jej zadeklarowaniu w programie. Po ich zdefiniowaniu nie możemy dokonać żadnej zmiany wartości zmiennych stałych.
Jak zdefiniować stałą w C?
Definiujemy stałą w języku C za pomocą konst słowo kluczowe. Słowo kluczowe const, znane również jako kwalifikator typu const, jest umieszczane na początku deklaracji zmiennej, aby zadeklarować tę zmienną jako stałą.
Składnia definiująca stałą
const data_type var_name = value ;>

Przykład stałych w C
C
pyspark
// 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;> }> |
>
>Wyjście
Printing value of Integer Constant: 25 Printing value of Character Constant: A Printing value of Float Constant: 15.660000>
Należy tu zwrócić uwagę na jedną rzecz: musimy to zrobić zainicjuj zmienne stałe w deklaracji . W przeciwnym razie zmienna będzie przechowywać jakąś śmieciową wartość i nie będziemy mogli jej zmienić. Poniższy rysunek opisuje przykłady niepoprawnych i poprawnych definicji zmiennych.

wyszukiwarka i przykłady
Rodzaje stałych w C
Typ stałej jest taki sam, jak typ danych zmiennych. Poniżej znajduje się lista typów stałych
- Stała całkowita
- Stała znaku
- Stała zmiennoprzecinkowa
- Stała zmiennoprzecinkowa podwójnej precyzji
- Stała tablicowa
- Struktura Stała
Musimy tylko dodać słowo kluczowe const na początku deklaracji zmiennej.
Właściwości stałej w C
Ważne właściwości zmiennych stałych w C zdefiniowanych za pomocą słowa kluczowego const są następujące:
1. Inicjalizacja z deklaracją
Możemy zainicjować stałą zmienną w C tylko w momencie jej deklaracji. W przeciwnym razie zapisze wartość śmieci.
2. Niezmienność
Stałe zmienne w c po zdefiniowaniu są niezmienne, tzn. mogą być inicjalizowane tylko raz w całym programie. Od tego momentu nie będziemy mogli modyfikować wartości przechowywanej w tej zmiennej.
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;> }> |
>
jeśli jeszcze w powłoce bash
>
Wyjście
In function 'main': 10:9: error: assignment of read-only variable 'var' 10 | var = 20; | ^>
Różnica między stałymi i literałami
Stała i literały są często mylone jako to samo. Ale w języku C są to różne byty i mają różną semantykę. Poniższa tabela zawiera listę różnic pomiędzy stałymi i literałami w C:
| Stały | Literały |
|---|---|
| Stałe to zmienne, których po zadeklarowaniu nie można modyfikować. | Literały to stałe wartości, które same się definiują. |
| Stałe są definiowane przy użyciu słowa kluczowego const w języku C. Przechowują one same w sobie wartości dosłowne. | Oni sami są wartościami przypisanymi do zmiennych lub stałych. |
| Możemy określić adres stałych. | Nie możemy określić adresu literału z wyjątkiem literału łańcuchowego. |
| Są to wartości. | Są to wartości. |
| Przykład: const int c = 20. | Przykład: 24,15,5, „a”, Geeks itp. |
Definiowanie stałej przy użyciu preprocesora #define
Możemy również zdefiniować stałą w C za pomocą #zdefiniuj preprocesor . Stałe zdefiniowane za pomocą #define to makra, które zachowują się jak stała. Stałe te nie są obsługiwane przez kompilator, są obsługiwane przez preprocesor i są zastępowane ich wartością przed kompilacją.
#define const_name value>
Przykład stałego 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;> }> |
>
>Wyjście
The value of pi: 3.14>
Notatka: Ta metoda definiowania stałych nie jest preferowana, ponieważ może powodować błędy i utrudniać utrzymanie kodu.
cout
Często zadawane pytania dotyczące stałych C
Pytanie 1. Zdefiniuj stałe C.
Odpowiedź:
Stałe w C to niezmienne zmienne, których wartości nie można modyfikować po ich zadeklarowaniu w programie C.
Pytanie 2. Jakie jest zastosowanie słowa kluczowego const?
Odpowiedź:
Słowo kluczowe const jest kwalifikatorem używanym do deklarowania zmiennej stałej w języku C.
Pytanie 3. Czy możemy zainicjować zmienną stałą po deklaracji?
Odpowiedź:
Nie, nie możemy zainicjować zmiennej stałej po jej zadeklarowaniu.
Pytanie 4. Jaki jest właściwy sposób deklarowania stałej w C?
Odpowiedź:
Właściwym sposobem zadeklarowania stałej w C jest zawsze inicjowanie zmiennej stałej podczas jej deklarowania.
Pytanie 5. Jaka jest różnica między stałą zdefiniowaną przy użyciu kwalifikatora const a #define?
Odpowiedź:
Poniższa tabela zawiera listę różnic pomiędzy stałymi zdefiniowanymi przy użyciu kwalifikatora const i #define w C:
Stałe wykorzystujące const Stałe używające #define Są to zmienne, które są niezmienne Są to makra, które są zastępowane przez ich wartość. Są obsługiwane przez kompilator. Są one obsługiwane przez preprocesor. Składnia: konst wpisz nazwę = wartość ; Składnia: #definiować wartość nazwy
Pytanie 6. Czy jest jakiś sposób na zmianę wartości stałej zmiennej w C?
Odpowiedź:
Tak, możemy wykorzystać lukę stworzoną przez wskaźniki, aby zmienić wartość zmiennej zadeklarowanej jako stała w C. Poniższy program w C pokazuje, jak to zrobić.
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;>}>sortowanie bąbelkowe w Javie>>WyjścieInitial Value of Constant: 10 Final Value of Constant: 500>Powiązany artykuł – Kwalifikator stałej w C