Is there a way to declare a variable like this before actually initializing it?
CGFloat components[8] = {
0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.15
};
I'd like it declared something like this (except this doesn't work):
CGFloat components[8];
components[8] = {
0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.15
};
You cannot assign to arrays so basically you cannot do what you propose but in C99 you can do this:
CGFloat *components;
components = (CGFloat [8]) {
0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.15
};
the ( ){ }
operator is called the compound literal operator. It is a C99 feature.
Note that in this example components
is declared as a pointer and not as an array.