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