从数值角度看,变量是值可以被改变的量;从存储空间上看,变量是数据类型的存储单元的映射,也就是所分配存储空间的名字。变量与地址不同,变量面向的是程序员,地址面向计算机运算操作。
变量的基本数据类型包括整型和浮点型:
数据类型所占字节int(基本整型)4short int(短整型)2long int(长整型)4long long int(双长整型)8char(字符型)1bool(布尔型)1float(单精度浮点型)4double(双精度浮点型)8float_complex, double_complex, long long_complex(复数浮点型)
结构体是自定义结构,通过 struct 定义结构体。结构体变量名是通过结构体类型进行声明。
定义结构体示例:
struct node
{
int age1;
char name1[20];
}a1;//右花括号和分号之间可以直接声明该结构体变量
结构体变量声明的格式: 结构体类型名 结构体变量名
struct node a2;//声明结构体变量a2
在结构体中,我们通过结构体变量来访问结构体内的成员,用 结构体变量名.成员 来访问。
从上面的示例,我们可以访问或赋值:
a1.age1;
a1.name1[N];//N为数组下标0~19
a2.age1;
a2.name1[N];
共用体与结构体一样,属于自定义结构。共用体通过 union 关键字定义,共用体变量名是通过共用体类型进行声明。
声明共用体示例:
union node
{
int age2;
char name2[20];
}b1;//右花括号和分号之间可以直接声明该共用体变量
共用体变量定义的格式: 共用体类型名 共用体变量名
struct node b2;//声明共用体变量a2
共用体变量来访问共用体内的成员与结构体方式一样,请参考结构体。
什么是变量的声明和定义呢?
我们举个简单声明且定义的例子:
int a;//这里不仅声明了变量 a 是整型,还为变量 a 建立了一个整型的存储空间
因此,我们可以理解变量的声明表示变量的类型,定义是为变量建立相应类型的存储空间。但是,不是所有的声明都是定义。例如:
extern B;//这里是将已定义的外部变量B的扩展域声明到此,非定义
变量可以分为局部变量和全局变量
局部变量有哪些呢?
局部变量作用范围存储地址自动变量(auto变量)所定义的花括号内。若为形参,则形参的作用范围在调用该函数起到函数结束。结束后,自动释放。动态存储区静态局部变量(static变量)从该变量开始定义时,到整个程序运行结束。静态存储区寄存器变量(register变量)同自动变量CPU的寄存器中
以上是局部变量,那全局变量有哪些呢?
全局变量指的是存放在静态存储区,程序存放时间固定。
作用范围分为:本文件作用域、指定其他文件作用域。
格式:
extern 变量名; //使用关键字 extern 扩展到指定范围
一般不提倡使用extern,这样会降低程序的可移植性。
想高效系统的学习Python编程语言,推荐大家关注一个微信公众号:Python编程学习圈。每天分享行业资讯、技术干货供大家阅读,关注即可免费领取整套Python入门到进阶的学习资料以及教程,感兴趣的小伙伴赶紧行动起来吧。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!