Все Лекции
.pdf
Переменные и типы данных
•Чтобы переменную можно было использовать в программе, она должна быть предварительно объявлена.
•Переменная обладает именем, размером и рядом других атрибутов (таких, как видимость, время существования и т.д.).
•При объявлении переменной для нее резервируется некоторая область памяти, размер которой зависит от конкретного типа переменной.
•Размер одного и того же типа данных может отличаться на компьютерах разных платформ, а также может зависеть от используемой операционной системы.
21
Переменные и типы данных
• Стек — это область оперативной памяти, которая создаётся для каждого потока.
22
Переменные и типы данных
• Куча — это хранилище данных, которое допускает динамическое выделение памяти, это просто склад для переменных.
23
Переменные и типы данных
• Базовые типы данных С/С++ для ПК
Тип |
Размер, байт |
Значение |
|
|
|
|
|
bool |
1 |
|
true или false |
|
|
|
|
unsigned short int |
2 |
|
от 0 до 65 535 |
|
|
|
|
short int |
2 |
|
от-32 768 до 32 767 |
|
|
|
|
unsigned long int |
4 |
|
от 0 до 4 294 967 295 |
|
|
|
|
long int |
4 |
|
от -2 147 483 648 до 2 147 483 647 |
|
|
|
|
int (16 разрядов) |
2 |
|
от-32 768 до 32 767 |
|
|
|
|
int (32 разряда) |
4 |
|
от-2 147 483 648 до 2 147 483 647 |
|
|
|
|
unsigned int (16 |
2 |
|
от 0 до 65 535 |
разрядов) |
|
|
|
|
|
|
|
unsigned int (32 разряда) |
4 |
|
от 0 до 4 294 967 295 |
|
|
|
|
char |
1 |
|
от 0 до 256 |
|
|
|
|
float |
4 |
|
от 1.2е-38 до 3.4е38 |
|
|
|
|
double |
8 |
|
от 2.2е-308 до 1.8е308 |
|
|
|
|
void |
2 |
или 4 |
- |
|
|
|
|
24
Переменные и типы данных
•Программы на языке С++ являются переносимыми.
•Переносимость означает, что программы, написанные для работы на компьютерах одного типа, будут работать и на компьютерах другого типа.
•При этом переменные одного и того же типа могут иметь разный размер в зависимости от того, на каком компьютере и в какой операционной системе они используются.
•Определить размер переменной любого типа данных (как
базового, так и производного) можно с помощью оператора размера sizeof.
•Данный оператор может быть применен к константе, типу и
переменной. int main() {
cout << "Size of int type: "; cout << sizeof(int) << '\n';
25
Переменные и типы данных
•Объявление переменной начинается с ключевого слова, определяющего его тип, за которым следует собственно имя переменной и (необязательно) инициализация - присвоение начального значения.
•Одно ключевое слово позволяет объявить несколько переменных.
•Для большинства языков программирования важно учитывать регистр букв (Abc и abc - не одно и то же)!
26
Область видимости переменных
•Каждая переменная характеризуется областью действия, областью видимости и временем жизни.
•Под областью действия переменной понимают область программы, в которой переменная доступна для использования.
•С этим понятием тесно связано понятие области видимости переменной. Если переменная выходит из области действия, она становится невидимой.
•Временем жизни переменной называется интервал выполнения программы, в течение которого она существует.
27
Область видимости переменных
•Переменные могут быть объявлены как внутри тела какой-нибудь функции, так и за пределам любой из них.
•Переменные, объявленные внутри тела функции, называются локальными.
28
Локальные переменные
•Локальные переменные размещаются в стеке программы и действуют только внутри той функции, в которой объявлены.
•Как только управление возвращается вызываемой функции, память, отводимая под локальные переменные, освобождается.
29
Локальные переменные
•Локальные переменные имеют своей областью видимости функцию или блок, в которых они объявлены.
•В то же время область действия локальной переменной может исключать внутренний блок, если в нем объявлена переменная с тем же именем.
•Время жизни локальной переменной определяется временем выполнения блока или функции, в которых она объявлена.
30
