Фраза "Структурная переменная описывается с помощью переменной структурного типа" на мой Взгляд является тафтология. Из нее сложно понять суть утверждения. Хотелось бы полке понятного описания. |
Операции
Операция деления: /
Тип операндов - арифметический. Тип результата - int, unsigned, long, double.
Использование:
ae1/ae2
Частное от деления ae1 на ae2.
Пример:
i=j/7;
Операция получения остатка: %
Тип операндов - интегральный. Тип результата int, unsigned, long. Знак остатка машинно-зависим.
Использование:
ae1%ae2
Остаток от деления по модулю.
Пример:
j=i%2;
Если i четное число, то j равно нулю.
Операции, уровень приоритета которых равен 4
Уровень приоритета аддитивных операций равен 4. Выполняются эти операции слева направо.
Операция сложения: +
- арифметический;
- один операнд указатель, другой - интегрального типа; оба операнда не могут быть указателями.
Тип результата: int, unsigned, long, double, указатель. Перед сложением значение целого операнда умножается на величину элемента данных, тип которых соответствует типу указателя.
Использование:
ae1+ae2
Сумма значений ae1 и ae2.
Пример 1:
i=i+100;
Первоначальное значение i увеличивает на 100.
Пример 2:
last=arname+arsize-1;
Присваивает переменной last адрес последнего элемента массива arname.
Операция вычитания: -
- арифметический;
- один операнд - указатель, другой - интегрального типа;
- операнды - указатели одного типа.
В первом случае тип результата: int, unsigned, long, double. Во втором случае тип результата - указатель. До вычитания значение целого операнда умножается на величину элемента данных, тип которых соответствует типу указателя. В третьем случае тип результата - int. Результат - число объектов, отделенных двумя указателями.
Арифметические действия с указателями. Арифметические действия с указателями отличаются от арифметических действий с обычными целыми значениями, и определяются следующим образом. Предположим, что i является целым выражением, а указатели p и q указывают на элементы типа Т. Сложение значения i и p эквивалентно сложению числа ячеек памяти в байтах, занятых i элементами типа Т. Аналогично определяется операция вычитания. Результат вычитания двух указателей типа Т является не разностью значений двух указателей, а числом элементов типа Т, размещенных между ячейками, ссылки на которые обеспечиваются указателями. Никакие другие арифметические действия с указателями не допускаются. Вычитание указателей имеет смысл только для указателей, ссылающихся на элементы одного и того же массива, поскольку только в этом случае разность адресов элементов массива всегда равна произведению целого значения на величину элемента.
Использование:
ae1-ae2
Разность значений ae1 и ae2.
Пример 1:
i=j-100;
Использование:
pe-ie
Адрес переменной типа pe, меньше на ie адреса, заданного указателем pe.
Пример 2:
first=last-arsize+1;
Использование:
pe1-pe2
Число переменных типа pe в диапазоне от pe2 до pe1.
Пример 3:
arsize=last-first;