私は array 環境は普段使っていないのですが,調べてみると
source2e.pdf の 56.2節 array and tabular environments
に次のようにあります.
> PREAMBLE:
> The PREAMBLE argument of an array or tabular environment can
> contain the following:
> l,r,c : indicate where entry is to be placed.
> | : for vertical rule
> @{EXP} : inserts the text EXP in every column.
> \arraycolsep or \tabcolsep spacing is suppressed.
> *{N}{PRE} : equivalent to writing N copies of PRE in the preamble.
> PRE may contain *{N’}{EXP’} expressions.
> p{LEN} : makes entry in parbox of width LEN.
つまり,@ は2つの列の間に入る区切り文字を指定します.
通常だと \arraycolsep の値に基づいたスペースが列の間に入りますが,
@ 指定時はこのスペースが入らなくなるようです.
例えば,
\[
\begin{array}{r@{sss}l}
a&b\\
d&e
\end{array}
\]
などを試すとよくわかると思います.