Is it possible to concatenate variable names in C? Specifically, I have a struct
that contains 6 similar variables in it called class1
, class2
, class3
, etc.
I want to run through a for loop to assign each variable a value, but I can't see how to do it without somehow concatenating the variable name with the value of the for loop counter.
How else could I do this?
When you find yourself adding an integer suffix to variable names, think I should have used an array.
struct mystruct {
int class[6];
};
int main(void) {
struct mystruct s;
int i;
for (i = 0; i < 6; ++i) {
s.class[i] = 1000 + i;
}
return 0;
}
Note: A C++ compiler will barf at this because of class
. You will need to figure out a different name for that field if you plan to compile this code as C++.