КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Команды
Указатели Существует определенный класс переменных, называемых указателями. Аналогом указателя можно назвать оглавление в книге. Для того, чтобы найти определенную информацию сначала читатель по оглавлению находит название главы, параграфа, подпункта. Затем по номеру страницы переходит непосредственно к тексту. Указатель есть переменная, которая указывает, в каком месте памяти искать информацию. По другому, указатель хранит адрес в памяти, по которому находится начало информации. Таким образом, указателями удобно пользоваться для доступа к массивам однотипных данных. На языке Pascal работа с указателями осуществляется следующим образом:
type MyIntPointer = ^Integer; // Объявление пользов. типа // указатель на переменную // целого типа function Polozenie ():real; var i:integer; k:MyIntPointer; // объявление указателя P: ^TButton; // объявление указателя на объект «TButton» begin P:=@Form1.Button1; // определение адреса объекта «Button1» P^.Visible:= True; // изменение свойства «Button1» с помощью // указателя k:=@i; // Определение адреса переменной «i» k^:=10; // доступ к переменной «i» через указатель «k» inc(k,2); // перемещение указателя вперед на 2 длины // переменной целого типа, то есть доступ к // другой переменной через указатель «k» end;
Необходимо отметить, что при выполнении последней команды указатель указывает на несуществующую переменную. Если же выполнить операцию записи (присвоения) через указатель (например, k^:=5;), то это может привести к ошибке выполнения программы, или к порче информации. На языке C++:
typedef int *MyIntPointer; // Объявление пользов. типа // указатель на переменную // целого типа double Polozenie (void) { int i; MyIntPointer k; // объявление указателя TButton *P; // объявление указателя на объект «TButton»
P = Form1->Button1; // определение адреса объекта «Button1» P->Visible = True; // изменение свойства «Button1» с помощью // указателя k = &i; // Определение адреса переменной «i» *k = 10; // доступ к переменной «i» через указатель «k» k += 2; // перемещение указателя вперед на 2 длины // переменной целого типа, то есть доступ к // другой переменной через указатель «k» };
Необходимо отметить, что команда «P = Form1->Button1;» фактически копирует адрес объекта «Button1» в указатель «P». Дело в том, что на языке C++ доступ к объектам, помещаемым на форме, осуществляется только через указатели. Для выполнения каких-либо действий над данными используются команды. Правильное написание команд, необходимые сопутствующие слова и порядок представления данных называют синтаксисом. Список наиболее часто употребляемых команд, назначение и различие в синтаксисах на языке Pascal и C++ приведены в таблице 1.2.
Таблица 1.2 Список некоторых команд Pascal и C++
Дата добавления: 2015-07-02; Просмотров: 335; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |