论坛» 高校专区» 坤创E-Geek/天科大新电社

关于模块化编程中的全局变量

菜鸟
2015-01-27 14:28 1楼
我在写模块化编程数码管电子表的过程中,碰到了许多问题,其中对全局变量的理解运用以及静态变量的理解查了很多资料,希望对大家有帮助。。 c51中如何实现对全局变量的声明,注意项目含有多个文件,要声明一个全局变量,使得各模块都能使用该变量。:定义方法一般,所在模块中象一般全局变量一样定义如int x;其他要使用该变量的模块中,声明如:extern int a; 静态变量只是在第一次使用的时候初始化,如果是全局变量,则加static与否结果相同。如果是局部变量,则其他模块访问不到。 静态函数只有在本编译文件中才能被调用。其他c文件则不能调用。因此在其他文件中可以申明同名函数,而不互相影响。 还有一个问题是对头文件的理解,在弹一弹二中如果你仔细观察会发现两次对头文件格式的定义以及调用并不完全一样,其中最大的问题在于要不要在本函数中调用本函数的头文件,如果没有全局变量你会发现两种结果一样,但如果有了全局变量,在本程序中就不需要再一次定义变量,如果定义就会出现重复定义的错误,如果不定义就必须调用本程序的头文件。 还有就是定义变量在本模块主程序的开头和里面有什么区别,希望细心的大家自己动手试一试
高工
2015-01-27 15:33 2楼

很好的总结呀

不过全局变量,个人觉得还是用volatile修饰一下的好

专家
2015-01-27 15:38 3楼
谢谢分享你的经验
菜鸟
2015-01-28 11:24 4楼
谢谢你的建议
高工
2015-01-28 16:13 5楼
点个赞~!!
共5条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册]