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

В математике с понятием переменной связывают некоторый именованный объект, который может принимать одно из допустимого множества значений.

В программировании термин переменная означает область оперативной памяти, в которой хранятся данные определенного типа. У переменной есть имя и значение. Имя переменной можно рассматривать как адрес первого байта области памяти, в которой она хранится. Знание этого адреса дает возможность пользователю изменять значение переменной в процессе выполнения программы.

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

Таким образом, понятие переменной употребляется для обозначения величины, которая при работе программы может принимать различные значения. Каждая переменная должна иметь свое имя-идентификатор. Имена переменных программист выбирает сам, руководствуясь следующими правилами:

- имя переменной должно отражать ее смысл, то есть то, что с помощью этой переменной вычисляется,

- не допускается совпадение имени переменной со служебными словами и именами функций,

- в имени можно использовать буквы латинского алфавита, цифры и знак подчеркивания,

- имя должно начинаться с буквы,

- совпадающие имена, состоящие из строчных и прописных букв, считаются различными: name и NAME – различные имена.

Переменные в Си могут иметь один из трех стандартных типов:

int - целый,

float - вещественный,

char - символьный.

Диапазон допустимых значений переменных совпадает с диапазоном допустимых значений констант того же типа:

int: -32768 … +32767,

float: ±3,4×10-38…±3,4×10+38,

char: 0 … 255.

Кроме этих основных типов можно использовать следующие типы переменных:

long: -2 147 483 648 … +2 147 483 647,

double: ±1,7×10-308…±1,7×10+308,

и их беззнаковые аналоги:

unsigned int:0 … 65535,

unsigned long:0 … 4 294 967 295.

Перед своим использованием любая переменная должна быть описана (объявлена): указан класс памяти, тип и имя переменной, а также по возможности инициализирована – ей присваивается начальное значение.

Самое простое описание включает в себя тип переменной и ее имя:

int i,j,k; //переменные i, j, k – целого типа

float x,y; //переменные x, y – вещественного типа

char a; //переменная a – символьного типа

Желательна инициализация переменных при их описании:

int i=1, j=0, k=2;

float x=0.25, y=-1.5;

char a=’W’;

Если при описании переменной использован модификатор const, то это означает, что значение переменной нельзя изменять в программе. Такую переменную называют именованнойконстантой. Она обязательно должна быть инициализирована:

const int i=1; //именованная целая константа i

const float x=0.25; //именованная вещественная константа x

const char a=’W’; //именованная символьная константа a

Класс памяти определяет время жизни и область видимости переменной:

auto - автоматическая переменная. Память под нее выделяется в стеке и при необходимости инициализируется каждый раз при выполнении оператора, содержащего ее описание. Освобождение памяти происходит при выходе из блока, в котором описана переменная. Время ее жизни – от момента описания до конца блока. Для локальных (описанных внутри блока) переменных спецификатор auto применяется по умолчанию, поэтому задавать его явным образом смысла не имеет,

extern - внешняя переменная. Эта переменная определяется в другом месте программы (в другом файле или дальше по тексту программы). Используется для создания переменных, доступных во всех модулях программы, в которых они объявлены. Если переменная в этом же описании инициализируется, то спецификатор extern игнорируется,

static - статическая переменная. Время ее жизни – постоянное. Инициализируется один раз при первом выполнении оператора, содержащего описание переменной. В зависимости от расположения оператора описания статические переменные могут быть глобальными (описаны вне любого блока, область их действия – весь файл, в котором они описаны) и локальными (описаны внутри блока). Глобальные статические переменные видны только в том модуле, в котором они описаны,

register - регистровая переменная. Память для нее выделяется в регистрах процессора. Если такой возможности у компилятора нет, переменные обрабатываются как auto:

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

void main() //заголовок головной программы

{ //начало блока головной программы

int b=1; //локальная переменная b

extern float x;//переменная x определена в другом месте

static int c=0;//локальная статическая переменная c

register char d=’W’; //регистровая переменная d

a=1; //присваивание значения глобальной переменной a

int a; //описание локальной переменной a

//с этого момента и до конца блока действует

//только локальная переменная a

a=0; //присваивание значения локальной переменнойa

. . . . . . . . .








Дата добавления: 2015-10-19; просмотров: 677;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.008 сек.