0

没有任何作业,但似乎在做基础时迷路了,因此问。

假设我有 2 个 C 源文件。1.c & 2.c

2.c如下:

typedef struct mystr_
{
    int a;
    float b;
}mystr;

void fun()
{
    mystr q;

    some code....
}

1.c如下:

#include "stdio.h"

void fun();


main()
{
    //How to access / declare a variable of type mystr here.

    mystr *v1;//This obviously gives compiler errors

      some code....    

}

如何从文件 1.c 访问 2.c 中定义的结构 mystr 以在其中拥有该结构类型的变量?

编辑:

抱歉忘记在 OP 中提及。由于某种原因,我无法将声明移出头文件-> 这是我试图签入现有代码的快速技巧。那么有没有办法直接从其他源文件中访问呢?

4

1 回答 1

3

使用标题。

创建文件2.h

typedef struct mystr_
{
    int a;
    float b;
}mystr;

并将其包含在1.c

#include "2.h"
#include "stdio.h"

void void fun();

编辑:因为您无法将声明提取到头文件中并包含它,所以除了复制声明之外别无他法。这是一个非常脆弱的结构,快速但主要是肮脏的,除非你没有其他选择,否则不推荐。

于 2012-05-03T09:35:30.403 回答