Following article explores stringification operator used in C Programming. It is used along with Macros in C. Sometimes it is needed to stringify the Macro parameter in such case following operator can be used.
#
is the stringify operator, don't confuse this with #
of the preprocessor directive (e.g #include
, #define
…).
This operator is used in the third part of any Macro.
Lets see one example.
#define SIMPLE_STRING(x) #x
Following Macro
SIMPLE_STRING(hello);
will be expanded as
"hello";
Lets see one classic example where it could be used.
#include <stdio.h> #define COLOR_STR(x) "color "#x char color[3][25] = { COLOR_STR(red), COLOR_STR(green), COLOR_STR(blue) }; int main() { int i = 0; for(i = 0; i < 3; i++) { printf("%s\n", color[i]); } return 0; }
color red color green color blue
There is more elegant usage of it called X-macro which will be covered later.
Links
- Next Article - C Programming #83: designated intializers
- Previous Article - C Programming #81: Token Concatenation
- All Article - C Programming
No comments :
Post a Comment