我有一个结构,需要跟踪该结构有多少个实例。有什么方法可以在结构内做到这一点,还是我必须在结构外创建一个单独的计数器并递增它?
谢谢
最佳答案
为此,您需要一个 static
变量,但在 C 中,struct
不允许有 static
变量(而在 C++ 中,您可以可以,因为它们基本上是类)。特别是因为没有命名空间,所以在 struct
定义中声明它不会有任何区别。
不过,您可以拥有全局static
变量,如果您不想公开任何内容,这可能是更简单的解决方案,例如:
//header.h
void incrementCounter();
void decrementCount();
int counterValue();
//header.c
static int counter = 0;
void incrementCounter() { ++counter; }
..
关于c - 有没有办法为 C 中的结构创建 java 类变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24559312/