结构体定义如何extern
时间: 2023-07-26 07:44:12 浏览: 153
【IAR】定义结构体出现的错误Error[e27]:
在C语言中,结构体定义可以使用`extern`关键字来声明,但是不能直接定义。这是因为`extern`关键字用于指示编译器该符号的定义在其他文件中,并且在当前文件中只需要引用它。
下面是一个示例:
在头文件`example.h`中定义一个结构体类型:
```
typedef struct {
int x;
int y;
} Point;
```
在另一个文件`example.c`中使用`extern`来引用该结构体类型:
```
#include "example.h"
extern Point p; // 声明一个结构体类型的变量p
void someFunction(void) {
p.x = 10;
p.y = 20;
}
```
在主程序文件中可以定义该结构体类型的变量并使用它:
```
#include "example.h"
Point p; // 定义一个结构体类型的变量p
int main(void) {
someFunction(); // 在函数中修改结构体类型的变量p的值
return 0;
}
```
阅读全文