C Language Q & A #11 (cont.)
- A char variable can hold a single byte (eight bits) of information, so an assignment of ch = ASCII_X; would be converted to ch = X; by the preprocessor. X is a character constant, and you can assign its value to a character variable.
- If you change the definition to #define ASCII_X SX, the assignment would look like ch = SX; Since a char variable can only hold one byte of data, it takes the S, and ignores the X.