变量的创建
什么是变量呢?大家或许在数学当中,也遇到了变量这个概念,没错,C语言当中的变量和数学中的变量是一个概念,可以变化的量就是变量,而和它并肩存在的量叫做常量,即不可以改变的量。
变量的创建形式:数据类型 变量名称
例如:
data_type name;
| |
| |
数据类型 变量名
int age;//整型变量
char ch;//字符变量
double weight;//浮点型变量
int age = 18;
char ch = 'w';
double weight = 48.0;
unsigned int height = 100;
上面代码,我们可以看到在创建变量时,变量名等于一个数字,而这就叫变量的初始化,将这个数字的值给了这个变量,后续出现的字母代表的就是这个数字
在使用变量时,该变量最好初始化,这就像是你买了房子,但是立刻没有装修,没有家具,可以使用,但是会很难受,当然也可以是之后再给变量一个值,即先上车后补票。
例如:
#include <stdio.h>
int main()
{
int a;
a = 1;
printf("%d\n", a);
return 0;
}
变量的分类
变量可分为局部变量和全局变量
全局变量
在函数外部定义的变量就叫全局变量,全局变量使用范围更广,整个工程都是可以使用的
#include <stdio.h>
int a = 5;
int main()
{
printf("%d\n", a);
return 0;
}
局部变量
在大括号内部定义的变量就叫局部变量,局部变量的使用范围比较有限,只能用于自己所在的局部范围内,也就是自己所在的大括号内
#include <stdio.h>
int main()
{
int a = 5;
printf("%d\n", a);
return 0;
}
那这个时候就有人要问了,如果局部变量和全局变量的名字相同时,它是局部变量呢?还是全局变量呢?
这就要视情况而定了,如果在局部范围(大括号)内,它就是局部变量;如果在全局范围内(函数范围外),它就是全局变量。
也就是说局部变量和全局变量同名时,局部变量的优先级大于全局变量。
#include <stdio.h>
int global = 2023;//全局变量
int main()
{
int local = 2018;//局部变量
printf("%d\n", local);
printf("%d\n", global);
return 0;
}
2018
2023
全局变量和局部变量存储在哪里呢?
一般我们在学习C/C++语言的时候,我们会关注内存中的三个区域:栈区、堆区、静态区。
- 局部变量是放在内存的栈区
- 全局变量是放在内存的静态区
- 堆区是用来动态内存管理的