全局变量和局部变量

简介: 全局变量和局部变量

C语言变量根据作用域可分为全局变量和局部变量

       全局变量:{ }外部定义的,生命周期为程序的生命周期,存放在静态数据区

       局部变量:{ }内部定义的,生命周期为所在函数的生命周期,只在该函数内有效,存放在栈里

当全局变量名和局部变量名冲突时,局部变量优先,如:

1. #define  _CRT_SECURE_NO_WARNINGS  1
2. #include<stdio.h>
3. 
4. int g_val = 20;
5. 
6. int main()
7. {
8.  printf("1:g_val = %d\n", g_val);
9. 
10.   {
11.     int g_val = 10;
12.     printf("2:g_val = %d\n", g_val);
13. 
14.   }
15. 
16.   return 0;
17. }

运行代码,结果为:

 

可以看到,当全局变量和局部变量同名时,调用该变量时,变量值为局部变量的值,因此,不建议全局变量和局部变量名一样。

相关文章
|
22小时前
局部变量
局部变量和成员变量 1.定义的位置不一样【重点】 局部变量:在方法的内部 成员变量:在方法的外部,直接写在类当中 2.作用范围不一样【重点】 局部变量:只有方法当中才可以使用,出了方法就不能再用 成员变量:整个类全都可以通用。 3.默认值不一样【重点】 局部变量:没有默认值,如果要想使用,必须手动进行赋值
5 0
|
14天前
局部变量:
3.默认值不一样【重点】 局部变量:没有默认值,如果要想使用,必须手动进行赋值 成员变量:如果没有赋值,会有默认值,规则和数组一样 4.内存的位置不一样(了解) 局部变量:位于栈内存 成员变量:位于堆内存 5生命周期不一样(了解)
18 0
|
2月前
|
存储 C语言
全局变量
全局变量
11 0
|
6月前
|
Java
Thymelead th:with 局部变量
Thymelead th:with 局部变量
|
8月前
|
C++
39.【C/C++ 全局变量和局部变量 (详解)】
39.【C/C++ 全局变量和局部变量 (详解)】
56 0
|
11月前
|
存储
全局变量和局部变量
全局变量和局部变量
38 0
|
开发者 Python
全局变量和局部变量 | 学习笔记
快速学习 全局变量和局部变量
97 0
|
编译器 C语言 开发者
局部变量和全局变量|学习笔记
快速学习局部变量和全局变量
116 0
|
C++
【C++】局部变量和全局变量
有关C++局部变量和全局变量的记录
95 0
【C++】局部变量和全局变量
|
编译器 C语言
局部变量和全局变量
一、局部变量 二、全局变量