Dear BobbyMK,
The '_' is just part of a C language identifier. C identifiers can start with a letter including the underscore.
By convention, the identifiers starting with an underscore are reserved for use by the 'system'. For example, many library routines use underscores internally. User programs should not use underscores as the first letter. This helps prevent clashes between names used by the system and in the user programs.
In the example you have quoted, the variable _PTAD is created to represent the the port as a bit field/union. Various #define symbols are then created to conveniently access the port in various ways. In this case the symbol PTAD can be used to access the port as a single 8-bit location. Other symbols such as PTAD_BIT0 (or similar - from memory) can be used to access the individual bits within the bitfield and hence individual bits within the port.
The above approach is common in many C compilers for embedded systems. The '@' symbol is the only Codewarrior C-compiler specific feature being used. (It also relies on detailed knowledge of how the compiler packs bit fields but the code is legal C otherwise).
I hope the above is clear!
bye
Message Edited by pgo on 2009-09-25 12:02 PM