C语言全局变量的完整攻略
全局变量是在函数外部定义的变量,可以在程序的任何地方使用。在C语言中,全局变量具有以下特点:
-
全局作用域:全局变量在整个程序中都是可见的,可以被任何函数访问和修改。
-
静态存储持续性:全局变量在程序运行期间一直存在,直到程序结束才会被销毁。
-
默认初始化:如果没有显式地对全局变量进行初始化,它们会被默认初始化为0。
下面通过四个例子来详细说明C语言全局变量的使用。
示例一:全局变量的定义和访问
#include <stdio.h>
int globalVar = 10; // 定义一个全局变量
void func() {
printf(\"全局变量的值为:%d\
\", globalVar); // 访问全局变量
}
int main() {
func(); // 调用函数
return 0;
}
在这个例子中,我们定义了一个全局变量globalVar
,并在func
函数中访问了该变量。在main
函数中调用func
函数后,会输出全局变量的值为10。
示例二:全局变量的修改
#include <stdio.h>
int globalVar = 10; // 定义一个全局变量
void func() {
globalVar = 20; // 修改全局变量的值
}
int main() {
printf(\"修改前的全局变量的值为:%d\
\", globalVar); // 输出修改前的全局变量的值
func(); // 调用函数修改全局变量的值
printf(\"修改后的全局变量的值为:%d\
\", globalVar); // 输出修改后的全局变量的值
return 0;
}
在这个例子中,我们定义了一个全局变量globalVar
,并在func
函数中修改了该变量的值。在main
函数中调用func
函数前后,分别输出了修改前和修改后的全局变量的值。输出结果为:
修改前的全局变量的值为:10
修改后的全局变量的值为:20
示例三:全局变量与局部变量的命名冲突
#include <stdio.h>
int globalVar = 10; // 定义一个全局变量
void func() {
int globalVar = 5; // 定义一个同名的局部变量
printf(\"局部变量的值为:%d\
\", globalVar); // 访问局部变量
}
int main() {
printf(\"全局变量的值为:%d\
\", globalVar); // 输出全局变量的值
func(); // 调用函数
return 0;
}
在这个例子中,我们定义了一个全局变量globalVar
,并在func
函数中定义了一个同名的局部变量globalVar
。在main
函数中分别输出了全局变量和局部变量的值。输出结果为:
全局变量的值为:10
局部变量的值为:5
示例四:全局变量的声明
#include <stdio.h>
extern int globalVar; // 声明一个全局变量
void func() {
printf(\"全局变量的值为:%d\
\", globalVar); // 访问全局变量
}
int main() {
func(); // 调用函数
return 0;
}
在这个例子中,我们使用extern
关键字声明了一个全局变量globalVar
,并在func
函数中访问了该变量。在main
函数中调用func
函数后,会输出全局变量的值。需要注意的是,在这个例子中,我们没有在当前文件中定义全局变量,而是通过extern
关键字声明了一个全局变量,这意味着该全局变量在其他文件中定义。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:四个例子说明C语言 全局变量 - Python技术站