Понятие переменной. Объявление переменной. Локальные и глобальные переменные. Выделение памяти для переменных. Константы

Понятие переменной. Объявление переменной. Локальные и глобальные переменные. Выделение памяти для переменных. Константы


Содержание


1. Что называется переменной?

Переменная (variable) в программе – это именованная ячейка памяти, которая предназначена для сохранения некоторого значения. Сохраненное значение может быть результатом вычисления выражения, числовой или строчной константой и т.д.

При разработке программы, программист по собственному усмотрению дает имена переменным. Имя переменной есть именем идентификатора. Это имя должно соответствовать синтаксису языка C/C++. Более подробно об именах переменных описывается в теме:

Для решения задачи, программист может использовать любое количество переменных в программе. Чаще всего переменные используются в выражениях при проведении вычислений.

Желательно, чтобы имя переменной отвечало ее предназначению в программе. Например, если переменная используется для сохранения некоторого максимального значения, тогда ее имя может быть Max (например).

В языке C/C++ каждая переменная должна иметь собственный тип. Более подробно о типах данных C/C++ описывается в статье:

2. Какой общий вид описания переменной в C/C++?

Общий вид описания переменной:

тип список_переменных;

где

  • тип – тип данных, соответствующий переменным из список_переменных;
  • список_переменных – перечень переменных заданного типа, разделенных запятой.

Переменная может иметь до 1024 символов любого имени.

Пример объявления переменных разных типов.

int a, b, c;
char sym;
bool f_is;
float x, y;
double z;

3. В каких местах программы можно объявлять переменные? Как классифицируются переменные в зависимости от места объявления в программе?

Переменные могут быть объявлены:

  • внутри функций;
  • в определении параметров функций;
  • за пределами всех функций.

В зависимости от места объявления в программе, переменные классифицируются следующим образом:

  • локальные переменные (объявляются внутри функций);
  • формальные параметры (есть параметрами функций);
  • глобальные переменные (объявляются за пределами функций).


4. Что такое локальные переменные? В каких местах программы объявляются локальные переменные?

Локальные переменные – это переменные, которые объявлены (описаны) внутри функций. Доступ к таким переменным имеют только операторы, которые используются в теле функции.

Локальные переменные создаются в момент вызова функции. Как только выполнение функции завершается, локальные переменные уничтожаются.

Пример. Пусть дана функция GetMax3(), определяющая максимальное значение между тремя числами. В функции описывается локальная переменная res. Область действия переменной определена фигурными скобками { }.

...

int GetMax3(int a, int b, int c)
{
    int res; // res - локальная переменная
    res = a;
    if (res<b) res = b;
    if (res<c) res = c;
    return res;
}

...

5. Что означает термин «разрушение переменной»?

Локальные переменные создаются в момент вызова функции. Как только выполнение функции завершается, локальные переменные разрушаются. Термин «разрушение переменной» означает: разрушение переменной в оперативной памяти после завершения функции, в которой эта переменная была объявлена.

6. Что означает термин «формальный параметр»?

Формальный параметр – это переменная, которая есть входным параметром функции. При вызове функции, ей передаются аргументы. Значение этих аргументов копируются в формальные параметры функции в порядке их вызова.

Формальные параметры объявляются после имени функции внутри круглых скобок ( ).

Пример. Пусть даны объявления функции GetMax3(), которая находит максимальное значение между тремя целыми числами.

...

// Объявление функции GetMax3
int GetMax3(int a, int b, int c)
{
    // a, b, c - формальные параметры
    int res; // res - локальная переменная
    res = a;
    if (res<b) res = b;
    if (res<c) res = c;
    return res;
}

...

// Вызов функции GetMax3() из другого программного кода
max = GetMax3(8, 5, 11); // числа 8, 5, 11 есть аргументами функции

...

В данном примере, в функции GetMax3() есть 3 формальных параметра с именами a, b, c. При вызове функции из другого программного кода ей передаются 3 числа (аргумента), которые копируются в формальные параметры. Число 8 копируется в формальный параметр a. Число 5 копируется в формальный параметр b. Число 11 копируется в формальный параметр c.

7. Что такое глобальные переменные? Какое отличие между глобальными и локальными переменными?

Глобальная переменная – это переменная, доступ к которой имеют все функции в программе. Глобальные переменные сохраняют свои значения на протяжении всего времени выполнения программы. Это время называется временем жизни глобальной переменной.

Глобальная переменная объявляется за пределами всех функций.

Пример. В данном примере объявлена глобальная переменная max и две функции GetMax2() и GetMax3().

...

int max; // max - глобальная переменная

// Объявление функции GetMax2
int GetMax2(int a, int b)
{
    // a, b - формальные параметры
    max = a; // использование глобальной переменной max в функции GetMax2()
    if (max<b) max = b;
    return max;

}

// Объявление функции GetMax3
int GetMax3(int a, int b, int c)
{
    // a, b, c - формальные параметры
    max = a; // использование глобальной переменной max в функции GetMax3()
    if (max<b) max = b;
    if (max<c) max = c;
    return max;
}

8. Примеры объявления переменных разных типов
int a, b, c;
char sym;
bool f_is;
float x, y;
double z;

9. Как выделяется память для переменных целочисленных типов?

При объявлении переменной для нее выделяется память. Размер памяти, которая выделяется, зависит от типа переменной. Размер выделенной памяти влияет на диапазон значений, которые может принимать переменная.

Для переменных целых типов выделяется память соответственно нижеследующим таблицам.

Для 16-разрядной среды.

Тип Размер в битах Диапазон значений
int 16 -32768 … 32767
unsigned int 16 0 … 65535
signed int 16

-32768 … 32767

(аналогичен типу int)

short int 16

-32768 … 32767

(аналогичен типу int)

unsigned short int 16

0… 65535

(аналогичен типу unsigned int)

signed short int 16

-32768 … 32767

(аналогичен типу int)

long int 32 -2 147 483 648 … 2 147 483 647
unsigned long int 32 0 … 4 294 967 295
signed long int 32

-2 147 483 648 … 2 147 483 647

(аналогичен типу long int)

 

Для 32-разрядной среды.

Тип Размер в битах Диапазон значений
int 32 -2 147 483 648 … 2 147 483 647
unsigned int 32 0 … 4 294 967 295
signed int 32

-2 147 483 648 … 2 147 483 647

(аналогичен типу int)

short int 16 -32768 … 32767
unsigned short int 16 0 … 65535
signed short int 16 -32768 … 32767
long int 32

-2 147 483 648 … 2 147 483 647

(аналогичен типу int)

unsigned long int 32

0…4 294 967 295

(аналогичен типу unsigned int)

signed long int 32

-2 147 483 648 … 2 147 483 647

(аналогичен типу signed int)

10. Как выделяется память для переменных типов с плавающей запятой?

Для типов с плавающей запятой таблица выделенной памяти для переменной имеет вид как показано ниже. Выделение памяти для переменных типов с плавающей запятой не зависит от того, какую разрядность имеет среда (16 или 32 разряда).

Тип Размер в битах Диапазон значений
float 32 3.4E-38 … 3.4E+38
double 64 1.7E-308 … 1.7E+308
long double 80 3.4E-4932 … 3.4E+4932

11. Как выделяется память для переменных символьных (char) типов?

Для переменных символьного типа независимо от среды (16 или 32 разряда) выделяется память на основе следующей таблицы.

Тип Размер в битах Диапазон значений
char 8 -128 … 127
unsigned char 8 0 … 255
signed char 8 -128 … 127

12. Что такое константы в языке программирования C++? Как объявить константу?

Константа – это есть переменная, которая не может изменять своего значения на протяжении всего времени выполнения программы. Значение константе присваивается при ее объявлении. Для объявления константы используется ключевое слово const.

Общий вид объявления константы

const тип имя_константы = константное_значение;

где

  • тип – тип который получает константа;
  • имя_константы – имя, по которому будет осуществляться использование константного значения.

Примеры объявления констант.

const float Pi = 3.1415; // Число Пи
const int Max = 1000; // константа с именем Max
int const Min = 100; // константа с именем Min
const char New_Line = '\n';
const bool YES = true;


Связанные темы