c语言中如何引用另一个源文件中定义的结构数组
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言中如何引用另一个源文件中定义的结构数组相关的知识,希望对你有一定的参考价值。
如果变量在另一个源文件(.c)中定义,那么需要在此源文件中使用extern进行一次声明。比如数组定义为: struct student[MAX];
那么在此文件中的声明为: extern struct student[MAX];追问
比如在一个源文件中是这样定义的
struct Token
int no;
char sym[10];
char c[32];
;
struct Token token[500];
那在另外的源文件中是不是这样引用
extern struct Token token[500];
是的。但是这样存在struct Token 未定义的问题。
你必须把struct Token这个结构体类型的定义放在.h头文件里面。
变量token[500]不能放在头文件里,而必须放在源文件中。
一般类型、#define定义的常量是放在头文件里面的,具体变量的定义,则是放在源文件里面的。
C语言引用另一个源文件中定义的数组
C语言中是可以引用另外一个源文件的全局数组的,但是不能引用局部数组。
引用方式举例如下:
-
设a.c文件有有数据定义
int array1[10];
-
现有b.c文件中想访问a.c中的array1数组
-
那么b.c文件中首先添加如下语句
extern int array1[10];
-
然后就可以访问数组array1和它的元素了。
以上是关于c语言中如何引用另一个源文件中定义的结构数组的主要内容,如果未能解决你的问题,请参考以下文章