C语言外部调用结构体,变量和数组

程序设计中遇到的问题:结构体与外部调用变量和数组。

【结构体定义与声明】

将结构体写在子文件time.c里,并且在time.h声明外部调用,结果如图,只能在time.c文件中使用,不能实现结构体外部调用。

 C语言外部调用结构体,变量和数组_第1张图片

 C语言外部调用结构体,变量和数组_第2张图片

将结构体的声明和调用都用在time.c文件中,会出现以下情况

 C语言外部调用结构体,变量和数组_第3张图片

*而将结构体在time.h文件中定义,并且声明外部调用,会出现以下情况

 C语言外部调用结构体,变量和数组_第4张图片

*然后,在time.c文件中加入一句话(struct  _first_timer  _timer;),就会无错误和警告

 C语言外部调用结构体,变量和数组_第5张图片

【结构体的调用】 经过定义与声明,可直接使用,如下图

 C语言外部调用结构体,变量和数组_第6张图片

【外部变量和数组调用】 *下图中一个数组与一个变量进行了外部声明,如果和结构体一样直接使用,就会出现下图

 C语言外部调用结构体,变量和数组_第7张图片

*在调用该变量和数组的文件会报错,所以,在调用该变量和数组的文件中进行声明(可以是.c也可以是.h

 C语言外部调用结构体,变量和数组_第8张图片

如果将该变量和数组的定义和声明放在time.h文件中,就会出现以下情况

 C语言外部调用结构体,变量和数组_第9张图片

如果在.c文件中定义变量和数组,在.h文件中声明,则无错误和警告

会无错误和警告,比较有意思的是,我发现我定义的另一个数组TIME[7],并没有声明,然后直接在相应的文件中进行extern uchar TIME[7],也没有错误和警告,这点儿和结构体不同。

而主文件中不用进行extern uchar + 变量,可以直接使用

 C语言外部调用结构体,变量和数组_第10张图片

如果有什么理解不正确的地方,希望包涵和指正

你可能感兴趣的:(C语言外部调用结构体,变量和数组)