一,变量的的类型:局部变量和全局变量
1,局部变量
局部变量的作用域是变量所在的局部范围如:大括号内。
#include<stdio.h>
int main()
{
{
int a = 100;//a的作用域仅在a所在的大括号内
}
printf("%d",a);//无法获取变量a,所以无法输出
return 0;
}
#include<stdio.h>
int main()
{
int a = 100;
{
printf("%d\n",a);//a的作用域是大括号内,所以可以输出结果
}
printf("%d\n",a);//同是在大括号内的作用域里也可以输出结果
return 0;
}
2,全局变量
全局变量的作用域是整个工程。如果在同一源文件下的程序可以通过extern来声明使它作用到整个工程。extern int a。
int a = 10;//可以在main之前定义,而它的作用域是整个程序
void text()
{
printf("text----> %d\n",a);
}
#include<stdio.h>
int main()
{
printf("%d",a);//输出a的值
text();//对函数进行调用
return 0;
}
3,生命周期
变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段
1.局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束。
2. 全局变量的生命周期是:整个程序的生命周期。
进入作用域生命周期开始,出作用域生命周期结束。作用域指的的是范围,而生命周期指的是时间。
4,变量定义的要求
1.只能由字母数字(大小写)和下划线组成。
2.不能以数字开头。
3.长度不能超过63个字符.
4.变量名中区分大小写。
5.变量名不能使用关键字。
6.变量名字尽量有意义也是为了更好的理解。
int a = 100;//全局变量
#include<stdio.h>
int main()
{
int a = 10;//仅定义在这个大括号内的叫局部变量,仅作用于这个大括号
printf("%d\n",a);
return 0;
}
二,常量
C语言中的常量分为以下以下几种:
字面常量
const 修饰的常变量
#define 定义的标识符常量
枚举常量
int main()
{
3.14;
1000;//这种直接定义的属于字面常量
const int a = 3;//变量前加了const的,是const修饰的常变量,a依旧是变量。
a=6;//常变量是不能直接修改的
}
#define M 100//标识符常量
#include <stdio.h>
int main()
{
int arr[M]={0};//表示符常量可以作为常量使用
int A=M;
printf("%d\n",A);//输出结果为10
return 0;
}
enum color//enum是枚举关键字
{
//枚举常量
red; //0是printf输出后得到的值
green;//1
blue; //2
}