In the following code what is 'P'?
typedef char *charp;
const charp P;
Answer: A
Correct answer: P is a constant
Since charp is a single type meaning char *, the const qualifies that whole type, giving char * const P - a constant pointer to a modifiable character. It is not const char *, which is what textual substitution of the macro form would have produced. This is one of the clearest illustrations of why typedef and #define are not interchangeable.
Please log in or register to report this question.