@
is generally invalid in C; it is not used for anything. It is used for various purposes by Objective-C, but that’s a whole other kettle of fish.
$
is invalid as well, but many implementations allow it to appear in identifiers, just like a letter. (In these implementations, for instance, you could name a variable or function $$$
if you liked.) Even there, though, it doesn’t have any special meaning.