繁体   English   中英

C - 没有头文件的多个文件中的结构

[英]C - Struct in multiple files without header file

我在C做一个大学项目,它的要求非常严格,因为我不允许包含任何其他文件或修改任何头文件。

我目前正在尝试实现一个链表来存储一些记录,我需要它来跨越两个.c文件。 目前使用全局变量我已经在file1.c声明了变量,然后在使用extern file2.c声明了变量。 但是我如何为结构做这个呢,因为我总是把它添加到.h文件中?

干杯

放置每个源文件中头文件中的内容。

很难看出为什么有人会强加这样的要求。 它更像是在没有任何金属工具的情况下建造木结构房屋。 知道它可能想要教什么吗?

对你的程序施加这样的限制似乎很愚蠢,但我怀疑你的老师正试图让你实现封装

你真的需要在两个文件中使用struct吗? 尝试使用一个处理结构的.c文件,并将该结构上的操作作为函数调用公开。

例如:您可能决定让file2.c处理结构。 在任何函数之前,在任何#include语句之后声明file2.c中的结构 - 换句话说,如果有的话,你将包含头文件。

然后,如果您需要从file1.c访问结构,请调用file2.c中的函数来为您完成工作。

尽量避免使用全局变量,而是传递参数。 链表的一个典型全局变量可能是头(或锚)指针。 您可以将它作为file2.c中的static全局(或处理链接列表的任何一个)并保持隐藏 - 不应该共享。

一旦链表上的所有操作都封装在一个文件中,它就会变得与用户代码无关,并且可以在其他程序中使用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM