C语言全局变量定义方法 c语言的全局变量

今天调试系统的时候,需要定义几个全局位变量,定义好后一编译,发现错误一大堆,错误基本都是位变量定义时产生的。以前也定义过全局变量啊,但是先前怎么没错误?瞎折腾了一会最后还是发现问题出在细节上面了。以前只是侥幸没遇到而已。今天做个总结,以后再忘记了就回来直接查一下。

我们都知道定义在函数外部的变量就叫做全局变量,但是通常只有一个C文件和一个H文件的时候那样定义是不会出问题的。一个大的系统会包含好多个.C文件和.H文件,每个.C文件都有可能会访问全局变量,所以全局变量在定义的时候就要稍微做下改变了。通常的做法是建立一个包含系统所有全局变量的.H文件,系统用到的所有全局变量都定义在该文件内,文件名可以用Global修饰一下。在该文件中定义某个全局变量的时候需要用extern声明该变量为外部变量。比如要定义SysEventCounter标志为unsignedchar型的全局变量可以这样定义:

extern unsigned charSysEventCounter;<----这里是关键,不能对该变量赋值,只能声明,赋值就会报错。

上述声明是写在.H文件中的。其他.C文件若要用到该变量,直接包含该.H文件就可以了

如果想要赋初值,可以在用到它的.C文件中这样写:

unsigned char SysEventCounter = 0;

C语言全局变量定义方法 c语言的全局变量

不用赋初值时,直接

unsigned char SysEventCounter;

就可以了。注意:只需要在一个.C文件中写即可,其他.C文件直接可以用。如果在其他.C文件中也这样写会产生重复定义的错误。

全局变量对变量的类型不限制,任何类型都可以,只要按照上述方法定义就不会有错误。

  

爱华网本文地址 » http://www.aihuau.com/a/25101015/278403.html

更多阅读

如何清理C盘的垃圾文件 win8电脑c盘怎么清理

如何清理C盘的垃圾文件?很多网友都会有这样的疑问,那么今天就和大家来分享下如何清理C盘的垃圾文件,请看下文:1、360的小工具里有个软件搬家功能 把你的软件和大的文件都移到其他盘。?2、首先你的C盘空间是多大的,还有你是否经常将软件

PLC编程语言的国际标准 plc常用的编程语言

PLC编程语言的国际标准IEC 61131是PLC的国际标准,1992~1995年发布了IEC 61131标准中的1 ~ 4 部分, 我国在1995 年11 月发布了GB/T15969-1/2/3/4(等同于IEC61131-1/2/3/4)。IEC 61131-3 广泛地应用PLC、DCS和工控机、“软件PLC”、数控

以英语为官方语言的国家 官方语言是英语的国家

以英语为官方语言的国家约70多个以英语为母语的国家约6个;英国,美国,澳大利亚,新西兰,加拿大。爱尔兰。(重定向自官方语言为英语的国家和地区列表)下列是一个以英语作为官方语言的国家和领土的目录,按人口次序排列。一些国家像加拿大和菲

声明:《C语言全局变量定义方法 c语言的全局变量》为网友看透失分享!如侵犯到您的合法权益请联系我们删除