C пропонує кілька вбудованих типів даних для роботи:
Примітивні типи даних
Примітивні типи даних формують основні будівельні блоки даних у C:
| **Тип даних** | **Опис** | **Розмір (типовий)** | **Діапазон (32-бітна система)** | **Приклад** |
|---------------|-------------------------------|------------------------|---------------------------------------|-----------------------|
| `int` | Ціле число (ціле число) | 4 байти | −2147483648 до 2147483647 | `int age = 25;` |
| `float` | Число з плаваючою комою | 4 байти | ~±1.2E-38 до ~±3.4E+38 | `float height = 5.9;`|
| `double` | Подвійна точність з плаваючою комою | 8 байт | ~±2.3E-308 до ~±1.7E+308 | `double pi = 3.14;` |
| `char` | Один символ | 1 байт | 0 до 255 (значення ASCII) | `char grade = 'A';` |
Примітка: Розміри та діапазони можуть змінюватися залежно від архітектури системи (32-бітна або 64-бітна).
Виведені типи даних
Виведені типи даних створюються за допомогою примітивних типів:
- Масиви: Колекція елементів одного типу, що зберігаються послідовно в пам'яті.
- Вказівники: Змінні, що зберігають адресу іншої змінної.
- Структури: Спосіб групувати змінні різних типів.
- Об'єднання: Пам'ятно-ефективна структура даних, де всі члени використовують одну й ту саму пам'ять.
Тип Void
- Представляє відсутність будь-якого типу.
- Зазвичай використовується для функцій, які не повертають значення (
void
).
Перелічувані типи (enum)
- Дозволяє визначати змінні, які можуть мати лише попередньо визначені значення.
- Приклад:
enum Days {MON, TUE, WED, THU, FRI};
enum Days today = MON;
Змінні в C
Змінна — це іменоване місце в пам'яті, яке використовується для зберігання даних. Тип даних змінної визначає, який тип значення вона може зберігати та скільки пам'яті для цього потрібно.
Оголошення змінних
Загальний синтаксис для оголошення змінних:
;
Приклади:
int number;
float salary;
char initial;
Ініціалізація змінних
Змінним можна присвоїти початкове значення під час оголошення:
int age = 30;
float pi = 3.1415;
char grade = 'A';
Оголошення кількох змінних
Ви можете оголосити кілька змінних одного типу в одному виразі:
int x = 5, y = 10, z = 15;
Область видимості та життєвий цикл змінних
Локальні змінні
- Оголошуються всередині функції або блоку.
- Доступні тільки в межах цієї функції або блоку.
- Пам'ять виділяється під час виклику функції і звільняється, коли функція завершується.
Приклад:
void display() {
int localVar = 10;
printf("Local Variable: %d\n", localVar);
}
Глобальні змінні
- Оголошуються поза всіма функціями.
- Доступні всім функціям у програмі.
- Зберігають своє значення протягом усього виконання програми.
Приклад:
int globalVar = 20;
void display() {
printf("Global Variable: %d\n", globalVar);
}
Статичні змінні
- Зберігають своє значення між викликами функцій.
- Ініціалізуються лише один раз.
Приклад:
void display() {
static int count = 0;
count++;
printf("Static Variable: %d\n", count);
}
Змінні extern
- Оголошуються за допомогою ключового слова
extern
. - Вказують на глобальну змінну, визначену в іншому файлі.
Приклад:
extern int globalVar;
Константи в C
Константа — це значення, яке не може бути змінене під час виконання програми.
Є два основні способи визначити константи:
Використовуючи ключове слово const
const float PI = 3.14159;
Використовуючи директиви препроцесора
#define PI 3.14159
Константи препроцесора замінюються їх значеннями під час компіляції, що робить їх швидшими, але менш гнучкими порівняно з const
.
Приклади та практика
Приклад 1: Використання змінних
#include
int main() {
int age = 25;
float height = 5.9;
char grade = 'A'; printf("Age: %d\n", age);
printf("Height: %.1f\n", height);
printf("Grade: %c\n", grade); return 0;
}
Вивід:
Age: 25
Height: 5.9
Grade: A
Приклад 2: Область видимості змінних
#include
int globalVar = 10; // Глобальна змінна
void display() {
static int staticVar = 0; // Статична змінна
staticVar++;
printf("Static Variable: %d\n", staticVar);
}
int main() {
int localVar = 5; // Локальна змінна
printf("Global Variable: %d\n", globalVar);
printf("Local Variable: %d\n", localVar);
display();
display();
return 0;
}
Вивід:
Global Variable: 10
Local Variable: 5
Static Variable: 1
Static Variable: 2
Приклад 3: Константи
#include
#define PI 3.14159
int main() {
const float gravity = 9.8; printf("Value of PI: %.5f\n", PI);
printf("Value of Gravity: %.1f\n", gravity); return 0;
}
Вивід:
Value of PI: 3.14159
Value of Gravity: 9.8
Що далі?
У наступному пості ми розглянемо оператори та вирази, які є інструментами для виконання обчислень, порівнянь та інших операцій у програмах на C.
Залишайтеся з нами для нових інсайтів!
Перекладено з: C Programming #5 — Data Types and Variables