请问下static的有关问题,期待大家的帮助
请教下static的问题,期待大家的帮助!本帖最后由 NowDoIT 于 2013-07-27 15:47:24 编辑在C语言中,如果项目
请教下static的问题,期待大家的帮助!
本帖最后由 NowDoIT 于 2013-07-27 15:47:24 编辑 在C语言中,如果项目工程有很多文件。在其中的一个文件中有如下定义:
static int a;
int b;
可不可以理解成?
1、变量a只能用于本文件内。
2、变量b是全局变量,其它文件中可以访问使用。
谢谢大家!
[解决办法]可以
[解决办法]right!
b在其他文件中使用的时候要用extern声明
[解决办法]可以这么理解
[解决办法]b其他文件可以访问,但是在其他文件里要定义成extern int b;
[解决办法]2楼和4楼正解。。。
[解决办法]++ ++
[解决办法]可以这么理解
[解决办法]当一个工程有多个cpp文件时。。static变量是只能在本cpp文件中使用,而全局变量是所有cpp文件都可以使用。。
[解决办法]可以啊.extern int b 就可以了.
表示在其他地方定义过.
[解决办法]其实两者都是静态变量,单片机上电以后都会为他们在ram中分配地址,区别就在于a的链接属性是internal的,而b的链接属性是external的.
[解决办法]我才知道这样写还有这样的用意,不过我觉得这样的写法不太好,extern 就是用来声明的,声明在头文件中,包含了他的地方就可以有这个符号,另有他的定义时就可以访问,如果是只在cpp中定义不加extern那就表示只能在当前文件中使用
[解决办法]就是这么理解的