Is it legal to have a "static" member within a C struct?
For example
struct my_struct {
int x;
static int y;
};
If indeed it is legal,then what are the implications of the usage of the "static" keyword?
No, that would make no sense in C. It's valid in C++ though.
No, not in C
(You can have a static member in a C++
structure.)
You're probably getting confused by the fact that Static isn't used for the same purposes that it is in languages such as Java or C# (or C++ for that matter). This post explains C's usage of static thoroughly:
What does "static" mean?
It seems like you're asking about the intuition behind a static member. A static member means one-per-type instead of one-per-instance. In your case, if you had
struct my_struct a, b;
then a
and b
would each have their own x
but would share a common y
. This is also true of static member functions.
But like was stated, this doesn't apply to C. It does to C++ and Java, though.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With