Variable declaration with @ in C
This is to specify an absolute address to place the variable at.
From the XC8 compiler manual page 27, section 2.5.2 Absolute Addressing:


  Variables and functions can be placed at an absolute address by using
  the __at() construct
  ......
  2.5.2.2 DIFFERENCES
  The 8-bit compilers have used an @ symbol to specify an absolute address