Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Концепция памяти. Переменные и их декларация в языках




Программирования

 

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

Каждой переменной в физической памяти распределенной для программы сопоставлены одна или несколько ячеек памяти, в зависимости от типа данных, который представляет переменная. Например, целая 32-битная перемененная x = 23435345 c адресом n будет занимать четыре смежных ячейки памяти (рис. 12)

 

n + 3 n + 3 n + 2 n +1 n n - 1
  00000001 01100101 10011000 01010001  

Рис. 12. Физическое представление переменной в памяти ВМ

 

Переменной сопоставлено имя, т.е. идентификатор, который используется в программе для ссылки на значение хранимое в этой переменной. Наряду с идентификатором каждой переменной должен быть сопоставлен определенный тип данных. Тип данных (data type) – это характеристика переменной, определяющая возможные значения, которые может принимать переменная, а также операции допустимые над ней. К фундаментальным простейшим типам, которые также называются скалярными типами (scalar type) относятся целые знаковые и беззнаковые типы, типы с плавающей точкой различной точности (по количеству значащих верных разрядов после десятичной точки) и строчные типы. Например, беззнаковая двухбайтная переменная целого типа может принимать значения от 0 до 65565 и для нее имеют смысл такие операции как умножение, деление, сложение и вычитание, операции сдвига и битовые логические операции. В свою очередь переменная строчного типа занимает в памяти объем в соответствии с длиной строки, и для нее имеет смысл из вышеперечисленных операций только операция сложения (конкатенации) строк. Основополагающими действиями, которые определены над всеми переменными являются операции присваивания значения и возвращения значения. Обе эти операции синтаксически выражаются в языках программирования одним и тем же оператором присваивания.

Так, в языках Visual Basic (VB) и C/C++ этот оператор представлен символом равенства «=». Например,

 

x = 10       // VB

x = y + 10; // C/C++

 

В языке Pascal и его современной реализации Object Pascal (OP) оператор присваивания выражается связкой символов – «:=».

 

x := 3.14;   // Pascal

sName := 'Leo'; // Pascal

 

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

В VB для объявления переменной используется оператор Dim (от англ. dimension – величина), при этом языковой шаблон декларации выглядит следующим образом:

 

Dim <variablename> [As <type>]

 

где <variablename> – идентификатор переменной, <type> – идентификатор типа переменной[3]. Например:

 

Dim myVar As Integer // переменная целого типа

Dim sName As String // переменная строчного типа

 

В VB для разделения друг от друга операторы должны записывать в разных строках программы, либо разделяться символом «:».

 

Dim x: Dim y     

x = 10 : y = 5                          

x = x + y : x = "Hello world"

 

При отсутствии явного указания типа в VB переменной задается особый вариантный тип данных, который позволяет присваивать переменной как числовые, так и строчные значения, а в общем случае и значения объектных типов (см. пример выше). Этот факт свидетельствует о не строгой типизации в языке VB, что является потенциальной опасностью, в связи с появлением в программе трудно локализуемых ошибок. Другие языки программирования требуют явной декларации переменной и явного указания ее типа.

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










Последнее изменение этой страницы: 2018-04-12; просмотров: 401.

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