EnglishРусский  

   Приложение

Реклама

Инсталлятор CreateInstall
Бесплатные и коммерческие инсталляторы

Поля и указатели

Обращение к полям

Оператор .(точка) применяется для получения или установки значения поля или для вызова метода или свойства. После точки необходимо указать имя поля или свойства. В случае вызова метода необходимо в круглых скобках указать параметры.

type customer 
{
   str    name, last_name  
   uint   age
   arrstr phones[ 5 ]
}
...
customer cust1 
cust1.name = "Tom"
cust1.age = 30
cust1.phones[ 0 ] = "3332244"
cust1.process()

Адреса и указатели

Унарный оператор & позволяет получить адрес локальной или глобальной переменной или идентификатор функции. Результат операции имеет тип uint. Если результатом какой-то операции является объект, например функция возвращающая строку, то к данному подвыражению также можно применить операцию взятия адреса. Оператор & примененный к объекту (структуре) возвращает адрес данного объекта и служит для приведения типа к uint.

uint a b
str mystr
...
a = &mystr
b = &getsomestr
b->func( a ) // equals getsomestr( mystr )

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

int a = 10, b
uint addra

addra = &a
b = addra->int // b = 10
addra->int = 3 // a = 3

Операция взятия элемента объекта

Многие структуры или объекты могут содержать в себе элементы других типов. Для доступа к элементам объекта ( элементы массива, символы строки ) можно использовать квадратные скобки [ ]. Если объект является многомерным, то размерности разделяются запятыми. Отсчёт элементов начинается с нуля. Для того чтобы к переменной можно было применить данную операцию тип переменной должен иметь соответствующие методы index. Подробнее смотрите на странице Системные методы для типов.

arr myarr[ 10, 10, 10] of byte
str mystr = "abcdef"

myarr[ i, k+3, 4 ] = 'd'
myarr[ 0, 0, 0 ] = mystr[i]

Смотрите также

Редактировать