Константи в C

Константи в C

Константи в C – це змінні, доступні лише для читання, значення яких не можна змінювати після того, як вони оголошені в програмі на C. Типом константи може бути ціла константа, константа з плаваючим вказівником, рядкова константа або символьна константа. У мові C, конст Ключове слово використовується для визначення констант.

У цій статті ми обговоримо константи в програмуванні на C, способи визначення констант у C, типи констант у C, їхні властивості та різницю між літералами та константами.

Що таке константа в C?

Як випливає з назви, константа в C - це змінна, яку неможливо змінити після того, як вона оголошена в програмі. Ми не можемо змінити значення постійних змінних після їх визначення.

Як визначити константу в C?

Ми визначаємо константу мовою C за допомогою конст ключове слово. Ключове слово const, також відоме як кваліфікатор типу const, розміщується на початку оголошення змінної, щоб оголосити цю змінну як константу.

Синтаксис для визначення константи

const   data_type var_name   =   value  ; 

синтаксис констант у c

Приклад констант у 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;> }>

Вихід

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

Одне, що слід зазначити, це те, що ми повинні ініціалізувати постійні змінні під час оголошення . В іншому випадку змінна зберігатиме деяке сміттєве значення, і ми не зможемо його змінити. На наступному зображенні описано приклади неправильних і правильних визначень змінних.

правильний спосіб оголошення констант у c

Типи констант у C

Тип константи такий самий, як і тип даних змінних. Нижче наведено список типів констант

  • Ціла константа
  • Символьна константа
  • Константа з плаваючою комою
  • Константа подвійної точності з плаваючою комою
  • Константа масиву
  • Структурна константа

Нам просто потрібно додати ключове слово const на початку оголошення змінної.

Властивості константи в C

Важливі властивості постійних змінних у C, визначені за допомогою ключового слова const, такі:

1. Ініціалізація з оголошенням

Ми можемо ініціалізувати постійну змінну в C лише під час її оголошення. Інакше він зберігатиме значення сміття.

2. Незмінність

Константні змінні в c є незмінними після його визначення, тобто їх можна ініціалізувати лише один раз у всій програмі. Після цього ми не зможемо змінити значення, що зберігається в цій змінній.

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

Вихід

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

Різниця між константами та літералами

Константу та літерали часто плутають як одне й те саме. Але в мові C це різні сутності та мають різну семантику. У наступній таблиці наведено відмінності між константами та літералами в C:

Постійний

Літерали

Константи - це змінні, які не можна змінювати після оголошення. Літерали — це фіксовані значення, які визначають себе.
Константи визначаються за допомогою ключового слова const у C. Вони зберігають у собі літеральні значення. Вони самі є значеннями, які присвоюються змінним або константам.
Ми можемо визначити адресу констант. Ми не можемо визначити адресу літералу, крім рядкового літералу.
Вони є цінностями. Вони є r-цінностями.
Приклад: const int c = 20. Приклад: 24, 15.5, «a», Geeks тощо.

Визначення константи за допомогою препроцесора #define

Ми також можемо визначити константу в C за допомогою #визначити препроцесор . Константи, визначені за допомогою #define, є макросами, які поводяться як константи. Ці константи не обробляються компілятором, вони обробляються препроцесором і замінюються їх значенням перед компіляцією.

  #define     const_name     value 

Приклад константного макросу

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

Вихід

The value of pi: 3.14 

Примітка: Цей метод визначення константи не є кращим, оскільки він може створити помилки та ускладнити підтримку коду.

Поширені запитання про константи C

Q1. Визначте константи C.

відповідь:

Константи в C - це незмінні змінні, значення яких не можна змінити після того, як вони оголошені в програмі на C.

Q2. Яке використання ключового слова const?»

відповідь:

Ключове слово const — це кваліфікатор, який використовується для оголошення постійної змінної в мові C.

Q3. Чи можемо ми ініціалізувати постійну змінну після оголошення?

відповідь:

Ні, ми не можемо ініціалізувати постійну змінну після її оголошення.

Q4. Як правильно оголосити константу в C?

відповідь:

Правильний спосіб оголосити константу в C - це завжди ініціалізувати константну змінну під час оголошення.

Q5. Яка різниця між константою, визначеною за допомогою кваліфікатора const, і #define?

відповідь:

У наведеній нижче таблиці перераховано відмінності між константами, визначеними за допомогою кваліфікатора const і #define у ​​C:

Константи за допомогою const Константи з використанням #define
Це змінні, які є незмінними Це макроси, які замінюються їх значенням.
Вони обробляються компілятором. Вони обробляються препроцесором.
Синтаксис: конст ім'я типу = значення ; Синтаксис: #визначити значення імені

Q6. Чи є спосіб змінити значення постійної змінної в C?

відповідь:

Так, ми можемо скористатися лазівкою, створеною покажчиками, щоб змінити значення змінної, оголошеної як константа в C. Наведена нижче програма на C демонструє, як це зробити.

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

Вихід

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

Пов’язана стаття – Const Qualifier в C