C语言外部调用结构体,变量和数组
2018-03-18 10:45
916 查看
程序设计中遇到的问题:结构体与外部调用变量和数组。
【结构体定义与声明】
将结构体写在子文件time.c里,并且在time.h声明外部调用,结果如图,只能在time.c文件中使用,不能实现结构体外部调用。
将结构体的声明和调用都用在time.c文件中,会出现以下情况
*而将结构体在time.h文件中定义,并且声明外部调用,会出现以下情况
*然后,在time.c文件中加入一句话(struct _first_timer _timer;),就会无错误和警告
【结构体的调用】 经过定义与声明,可直接使用,如下图
【外部变量和数组调用】 *下图中一个数组与一个变量进行了外部声明,如果和结构体一样直接使用,就会出现下图
*在调用该变量和数组的文件会报错,所以,在调用该变量和数组的文件中进行声明(可以是.c也可以是.h)
如果将该变量和数组的定义和声明放在time.h文件中,就会出现以下情况
如果在.c文件中定义变量和数组,在.h文件中声明,则无错误和警告
会无错误和警告,比较有意思的是,我发现我定义的另一个数组TIME[7],并没有声明,然后直接在相应的文件中进行extern uchar TIME[7],也没有错误和警告,这点儿和结构体不同。
而主文件中不用进行extern uchar + 变量,可以直接使用
如果有什么理解不正确的地方,希望包涵和指正
【结构体定义与声明】
将结构体写在子文件time.c里,并且在time.h声明外部调用,结果如图,只能在time.c文件中使用,不能实现结构体外部调用。
将结构体的声明和调用都用在time.c文件中,会出现以下情况
*而将结构体在time.h文件中定义,并且声明外部调用,会出现以下情况
*然后,在time.c文件中加入一句话(struct _first_timer _timer;),就会无错误和警告
【结构体的调用】 经过定义与声明,可直接使用,如下图
【外部变量和数组调用】 *下图中一个数组与一个变量进行了外部声明,如果和结构体一样直接使用,就会出现下图
*在调用该变量和数组的文件会报错,所以,在调用该变量和数组的文件中进行声明(可以是.c也可以是.h)
如果将该变量和数组的定义和声明放在time.h文件中,就会出现以下情况
如果在.c文件中定义变量和数组,在.h文件中声明,则无错误和警告
会无错误和警告,比较有意思的是,我发现我定义的另一个数组TIME[7],并没有声明,然后直接在相应的文件中进行extern uchar TIME[7],也没有错误和警告,这点儿和结构体不同。
而主文件中不用进行extern uchar + 变量,可以直接使用
如果有什么理解不正确的地方,希望包涵和指正
相关文章推荐
- 外部文件调用结构体变量
- 我也要学C语言-第二十章:结构体类型变量,结构体数组
- C语言 一个例子说明结构体变量,结构体数组和结构体指针
- C程序设计语言- 导言-1.2----函数、参数的传值调用、字符数组、外部变量与作用域
- C语言学习笔记【结构体01】结构体变量与结构体数组
- C语言中,关于数组和结构体变量的的默认初值问题
- Java调用C语言动态库(JNA方式):回调函数、结构体数组传参、结构体数组返回
- 黑马程序员—C学习笔记—结构体变量五种定义方式与指针结构体数组探究
- 结构体变量作函数参数实现传值调用。
- 第09天C语言(16):结构体-数组
- C语言的外部变量
- C语言字符串指针变量与字符数组的区别
- C语言中结构体变量私有化详解
- C语言如何跨文件调用函数定义中声明的变量
- C语言中结构体变量到底占多大空间
- 20170214C语言提升08_指针_01变量及指针及数组
- js 获取外部变量 setInterval 一定要 匿名函数调用
- C#调用c++的dll,结构体数组作为引用参数的传递方式
- 【C语言】用结构体数组指针完成:有三个学生信息,存放在结构体数组中,要求输出全部信息
- c语言 数组名&&结构体名 为什么不能用数组名给数组赋值,结构体却可以