结构体定义在.c文件内,如何在另一个.c使用
时间: 2024-03-21 07:43:50 浏览: 331
在C语言中,如果结构体定义在一个`.c`文件中,想要在另一个`.c`文件中使用该结构体,可以将该结构体的定义放在一个`.h`文件中,并在需要使用该结构体的`.c`文件中包含该`.h`文件。
以下是一个示例:
在`example.h`文件中定义结构体类型:
```
typedef struct {
int x;
int y;
} Point;
```
在`example.c`文件中定义该结构体类型的变量并实现一些函数:
```
#include "example.h"
Point p = {0, 0}; // 定义一个结构体类型的变量p
void movePoint(int dx, int dy) {
p.x += dx;
p.y += dy;
}
int getDistance(void) {
return p.x * p.x + p.y * p.y;
}
```
在另一个`.c`文件中使用该结构体类型和定义的函数:
```
#include <stdio.h>
#include "example.h"
int main(void) {
movePoint(3, 4); // 调用example.c中定义的函数来修改p的值
printf("Distance from origin: %d\n", getDistance()); // 调用example.c中定义的函数来计算p到原点的距离
return 0;
}
```
在这个示例中,`example.h`文件中定义了一个结构体类型,`example.c`文件中定义了该结构体类型的变量和一些函数。在另一个`.c`文件中,我们通过包含`example.h`文件来使用该结构体类型和定义的函数。
阅读全文