Студопедия КАТЕГОРИИ: АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Концепция памяти. Переменные и их декларация в языках
Программирования
Базовой концепцией всех языков программирования является концепция памяти, суть которой заключается в возможности хранения данных в особых объектах программы. Эти объекты получили название переменных (variable). Переменная используется для временного хранения некоторого значения в течение исполнения программы. Это значение может изменяться в ходе работы программы. Каждой переменной в физической памяти распределенной для программы сопоставлены одна или несколько ячеек памяти, в зависимости от типа данных, который представляет переменная. Например, целая 32-битная перемененная x = 23435345 c адресом n будет занимать четыре смежных ячейки памяти (рис. 12)
Рис. 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 не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда... |