It isn’t. In an arithmetic expression, array names decay into pointers. That says nothing about performing the calculation itself. The type of + is deducible from the types of its operands, in this case pointer and integer, yielding the same result as sizeof(int*).