c - C中的 "protecting a variable"是什么?它是如何工作的?

标签 c

在C++中,我们有抽象和数据隐藏。我们可以通过 C 实现吗?

最佳答案

在 .C 文件中定义您的结构,并且仅在 header 中“转发声明”该结构。

因此您的 .C 文件可能包含以下内容:

struct Car
   {
   char *brand;
   int   maxspeed;
   };

您的 .H 文件可能包含以下内容:

typedef struct Car *CarHandle;

然后编写函数来操作 Car(setter、getter 等),并将它们放在定义结构的同一个 .C 文件中。 当然,函数原型(prototype)应该放在header中。

现在调用者可以使用 CarHandle 和操作 CarHandle 的函数,但永远看不到 Car 结构中的内容。

关于c - C中的 "protecting a variable"是什么?它是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2963838/

相关文章:

c - *(matrix1+i) 和 *matrix1[i] 的区别?

我可以读取部分 jpeg 图像(矩形)并将其解压缩为 DCT 参数吗?

c++ - 从 C++ 调用 C 库

c - 段错误。为结构体中的结构体分配内存

c - 如何从字节码解释器写入标准输出?

我可以从我的内核模块调用 mknod 吗?

c - 在 C 中,如何从函数内部初始化指向指针的指针?

c - AVR 上的 FatF,是否有最大化写入速度的策略?

c - 我可以强制动态库链接到特定的动态库依赖项吗?

c - 程序集,多个参数 -m32/linux(与 C 中的 stdarg 相同)