文章目录
全局变量
在语法层次,我们已经掌握了全局变量
简而言之,定义在函数外的变量,就是全局变量。
所有的函数都可以引用和修改全局变量(共享)。
提示:一般以g_标书全局变量加在变量名前
#include<stdio.h>
int g_nValue = 100;
void Fun1()
{
g_nValue = g_nValue * 10;
}
void Fun2()
{
g_nValue = g_nValue * 10;
}
int main(int argc, char* argv[])
{
Fun1();
Fun2();
g_nValue += 1;
printf("%d\r\n", g_nValue);
return 0;
}
全局变量被分配在内存中全局区域,可以调试看地址验证。
int main(int argc, char* argv[])
{
printf("%d, %p\r\n", g_Value, &g_nValue);
return 0;
}
基本问题:
- 可否有两个同名的全局变量—不可以
- 全局边量是否可以在另一个文件定义,这个文件使用—可以,需讲究技巧
全局变量的定义,与普通变量没有区别。
此外,全局变量还可以声明,而不是定义,方法是使用extern关键字。
声明,告诉编译器“有这个全局变量,但是不在我这个c文件中”
extern int g_nValue;
</