Tag: declare

转发在Objective-C中声明一个结构

我正在创建一个协议,我正在定义的方法的一个参数是CMTime* 。 我想转发声明CMTime而不是包含它。 但是,我尝试过@class CMTime并且它抱怨它在别处重新定义为不同类型的符号。 文档说这是一个结构。 我已经尝试将其声明为 struct CMTime; 但它仍在抱怨它不知道它是什么。 我有什么想法我做错了吗?

C90:如何在没有C99扩展的情况下在C中全局初始化此结构

我想知道用C90初始化这个结构的最好方法是什么,同时仍保持整洁。 在我的头文件中,将其命名为test.h,我定义了以下结构: struct s_test_cfg{ char *a[3]; char *b[3]; char *c[3]; } 然后我将它声明为extern结构,以便我可以在.c文件中全局初始化它: extern struct s_test_cfg test_cfg; 现在在我的.c文件中,我希望能够在全局范围内声明这样的东西(显然我要编写的内容在C90中不受支持): struct s_test_cfg test_cfg = { .a = {“a”, “b”, “c”},\ .b = {“d”, “e”, “f”},\ .c = {“g”, “h”, “i”} }; 这显然使你对你想要做的事情非常整洁和透明。 如何初始化我的C文件中的全局结构,该结构也像这种语法一样干净? 谢谢。