An operator is used to describe an operation applied to one or several objects. It is mainly meaningful in expressions, but also in declarations. It is generally a short sequence using non-alphanumeric characters.
A punctuator is used to separate or terminate a list of elements.
C operators and punctuators are as follows −
... && -= >= ~ + ; ]
<<= &= -> >> % , < ^
>>= *= /= ^= & - = {
!= ++ << |= ( . > |
%= += <= || ) / ? }
## -- == ! * : [ #Note that some sequences are used as operators and as punctuators, such as *, =, :, # and ,.
Several punctuators have to be used by pairs, such as ( ), [ ], { }.
When parsing the input text, the compiler tries to build the longest sequence as possible for a token, so when parsing a+++++b, the compiler will recognize the following −
a ++ ++ + b which is not a valid construct
The compiler will not consider the following −
a ++ + ++ b which may be valid