Помощь - Поиск - Пользователи - Календарь
Полная версия: Указатели и умнoжение на С
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Ада и другие языки
Tan
А как компилятор различает эти операции ?
sum = sum + *(mas + i) * (*(vector + j));
Например в этом примере? По моей задумке здесь к счётчику прибавляется произведение элементов на которые указывают mas +i и vector + i соответственно.
volvo
Что значит "как различает"? Есть же разбор выражения, и для того чтобы пройти этот разбор, выражение должно удовлетворять определенным условиям (см. Стандарт языка)... Кроме того, компилятор знает типы всех переменных, участвующих в выражении, и способен определить, к элементам какого типа можно применять "*" как операцию разыменования, а где "*" - это именно умножение...

(кстати, одна пара скобок у тебя в выражении лишняя... Компилятор вполне способен обойтись и без нее)
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.