变量
变量的定义
变量的定义是一个非常重要的概念,它是程序中存储数据的基本方式。变量定义的过程包括指定变量的类型、名称以及分配存储空间。
变量的分类
全局变量和局部变量
全局变量
全局变量通常在所有函数之外定义,但必须在任何函数之前,简单来说在{}大括号之前的变量,称为全局变量。
#include<stdio.h>
int a = 10; //全局变量
int main()
{
printf("%d\n",a);
return 0;
}
局部变量
局部变量是定义在函数内部、代码块内部或者在参数列表中的变量,简单来说在{}大括号内部的变量,称为局部变量。
#include<stdio.h>
int main()
{
int a = 10; //局部变量
printf("%d\n",a);
return 0;
}
注意
当全局变量和局部变量的名字冲突下,局部优先
!不建议!把全局变量和局部变量的名字写成一样的
数据类型-创建变量
#include<stdio.h>
int main()
{
//创建一个变量
//类型 变量的名字 = 0;//推荐使用
//类型 变量的名字; //不推荐使用
int age = 20;
double weight = 75.3;
age = age + 1;
printf("age=%d\n",age);
return 0;
}
输出结果
变量的使用
写一个代码,求两个整数的和
#include<stdio.h>
int main()
{
int a = 0;
int b = 0;
int sum = 0;
printf("请输入两个整数:");
//scanf函数时输入函数
//&是取地址符
scanf("%d %d", &a, &b);
sum = a + b;
printf("sum=%d\n", sum);
return 0;
}
输出结果
注: 在Visual Studio中可能会显示错误
解决方法:在源文件第一行(#include)前面加上‘ #define _CRT_SECURE_NO_WARNINGS 1 ’,或者把scanf函数改为scanf_s函数(scanf_s函数——这是Visual Studio编译提供的,并不是C语言标准规定的)
变量的作用域和生命周期
作用域
作用域指的是程序中可以访问该变量的区域。C语言中的变量作用域主要有以下几种:
1. 局部作用域:
局部变量的作用域在函数内部或者一个代码块(如for循环、if语句等)中声明的变量具有局部作用域。它们只能在定义它们的函数或代码块内部被访问和修改。
2.全局作用域:
全局变量的作用域在所有函数外部声明的变量具有全局作用域。它们可以从程序的任何地方访问,包括在函数外部和其他函数内部。全局变量在整个程序运行期间都存在。
生命周期
1.局部变量的生命周期
局部变量是在函数内部或者一个代码块(如if语句、for循环等)中定义的变量。它们的生命周期从变量声明的点开始,到包含这个变量的作用域(通常是函数或代码块)结束时终止。
2.全局变量的生命周期
全局变量是在函数外部定义的变量,它们具有全局作用域,可以在程序的任何地方被访问(除非被其他符号遮挡)。