目录
什么是常量,变量?
常量--不能改变的量
变量--可以改变的量
变量的分类
局部变量--定义在大括号内部
全局变量--定义在大括号外部
int b = 1000;//全局变量--
int main()
{
int a = 100;//局部变量
return 0;
}
当局部变量和全局变量名字一样时,局部变量优先
int a = 1000;//全局变量
int main()
{
int a = 100;//局部变量
printf("%d", a);
return 0;
}
变量的使用
int main()
{
int num1 = 0;
int num2 = 0;
int sum = 0;
//输入
scanf("%d %d", &num1, &num2);
//相加
sum = num1 + num2;
//输出
printf("%d", sum);
return 0;
}
创建两个int 型变量num1和num2,执行输入,并把相加结果放入int型变量sum
变量的作用域和生命周期
作用域--通俗的说,一个变量哪里起作用,哪里就是它的作用域(变量可用范围)
作用域
a是局部变量
int main()
{
{
int a = 100;
printf("%d", a);
}
printf("%d", a);//这里会报错
return 0;
}
报错
说明a的作用域在它所在的那个{}局部内
局部变量的作用域---变量所在的局部范围
a是全局变量
int a = 100;
void test()
{
printf("%d", a);
}
int main()
{
printf("%d", a);
return 0;
}
这里的a在任意地方都可使用,作用域时整个工程
这种全局变量作用域时整个工程,就可以跨文件使用
这里用到extern--声明外部变量
生命周期
生命周期是指变量从创建到销毁的这一时间段
局部变量
int main()
{
{
int a = 100;
printf("%d", a);
}
printf("%d", a);
return 0;
}
局部变量进入作用域生命周期开始,出作用域生命周期结束
全局变量
全局变量的生命周期从程序开始到程序结束
常量
常量分为:
字面常量
const修饰的常变量
#define定义的标识符常量
枚举常量
//字面常量
3.14
20
'a'
"abcdef"
//const修饰的常变量
//const是一个c语言关键字
//被const修饰的变量无法再修改,具有常属性
//但num本质还是个变量,不能当真正的常量使用(比如 int arr[n]={0},这个用法就是错的)
const int num=10;
//#define定义的标识符常量
#define M 100
int a=M;
int arr[M]={0};//可行
printf("%d",a);//100
//枚举常量(关键字enum)
//性别:男,女,保密
enum sex
{
//枚举常量(枚举常量都是有值的)
MALE, //0
FEMALE, //1
SECRET //2
};
//创建枚举常量对象
enum sex s=MALE;