我如何声明,而不是定义一个结构,例如在多个文件之间共享的数据。我在定义原语时理解这个想法。因此,例如,我可能有:
extern int myvalue; /* in shared header file */
Run Code Online (Sandbox Code Playgroud)
和
int myvalue = 5; /* in data.c file */
Run Code Online (Sandbox Code Playgroud)
但是,我如何对结构做同样的事情。例如,如果我有以下类型:
typedef struct {
size_t size;
char * strings[];
} STRLIST;
Run Code Online (Sandbox Code Playgroud)
如果我然后使用语句:
STRLIST list;
Run Code Online (Sandbox Code Playgroud)
这既是声明又是定义。那么,如何应用与使用 extern 相同的原则?