c - 有没有办法为 C 中的结构创建 java 类变量?

标签 c struct

我有一个结构,需要跟踪该结构有多少个实例。有什么方法可以在结构内做到这一点,还是我必须在结构外创建一个单独的计数器并递增它?

谢谢

最佳答案

为此,您需要一个 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/

相关文章:

c - 动态分配内存(基于结构)的程序在不同的 IDE 上运行方式不同

python - 通过 UART float 到嵌入式 c float

c - 字节数组到结构 - 如何访问结构成员

c - 结构中的函数

c - MPI_Irecv 没有正确接收 MPI_Send 发送的数据

ios - 作为 C 指针类型的 Objective-C 类

c - 帮助 C 指针

c - 在 C 中使用数组结构函数

c - 为什么我的程序不使用 printf 输出任何内容?

c - 汇编返回 int 到 C 函数段错误