189 8069 5689

【C语言】认识变量及变量的作用域和生命周期-创新互联

一、什么是变量?

在生活中,我们会遇到许多的常量和变量

在成都做网站、成都网站制作、成都外贸网站建设过程中,需要针对客户的行业特点、产品特性、目标受众和市场情况进行定位分析,以确定网站的风格、色彩、版式、交互等方面的设计方向。创新互联还需要根据客户的需求进行功能模块的开发和设计,包括内容管理、前台展示、用户权限管理、数据统计和安全保护等功能。

常量:始终不会改变的量

e.g. 性别,血型,圆周率......

变量:会发生改变的量

e.g. 身高,年龄,体重......

在C语言中,变量是在程序运行时其值可以改变的量

如何创建一个变量

创建一个变量有两种结构

第一种:变量类型 变量名称= 赋值;

第二种:变量类型 变量名称;

变量名称=赋值;(不推荐)

分析以上变量结构

int(整型类型)age(变量名称)=(赋值符号)18(赋值)

变量之所以被称为变量,是因为它的值随时都可以被改变

创建int变量age,赋值为18

age=age+1;此时的变量age已经从18改变为19

即最终打印的结果为age=19

创建其他数据类型的变量

变量除了可以创建一般的int整型变量以外,还可以创建其他数据类型的变量,比如float类型、double类型......

但是,创建其他的数据类型的变量之后,printf函数中所代表数据类型的%d也要随之改变

常用printf函数的格式字符

%d-输入或输出十进制有符号数(int类型)

%c-输出一个字符(char类型)

%s-输出一个字符串

%f-输入或输出单精度浮点数(float类型)

%lf-输入或输出双精度浮点数(double类型)

全局变量与局部变量

全局变量:定义在所有函数之外,并且在其作用域(程序)内的函数都可以访问

局部变量:定义在一个函数内部,在函数之外是不可访问的

在此程序中,int a=100;处于全局变量

int a=10;属于局部变量

当全局变量与局部变量的变量名称冲突时,在main函数中的printf优先打印局部变量

注意:全局变量与局部变量的名称最好不要一致

二、变量的作用

变量作为一个随时都可以被改变的量,它在程序中有一定的功能作用

e.g.写一个代码求两个数的和

分析以上代码

#define为一个定义,因为在编译器中直接使用scanf函数会直接报错

下面解释一下scanf函数的作用:

如果printf函数代表输出的含义,那么scanf函数就代表输入,它会扫描或提取键盘上所输入的字符,从而存储到变量中

scanf函数的形式

scanf("%d %d",&a,&b);

%d与printf函数中的%d含义一样,都表示输入或输出一个整型

&为取地址符,就是将键盘上所打的字符存入&后的变量中

此代码过程:

创建三个int变量a,b,sum赋值都为0;

应用scanf函数得到键盘上所打的字符或值存入变量a和b中;

定义sum变量=变量a+变量b(此时的a和b为键盘上所打的值);

应用printf函数打印变量sum,得到变量a+变量b的值

三、变量的作用域

作用域:变量有效的范围

局部变量的作用域:局部变量所在的局部范围

全局变量的作用域:整个工程(程序)

分析以上代码:

变量g_val为全局变量

所以不论在主函数内还是在主函数内再加一个{}内的printf都可以打印出值

变量a为局部变量

只能在含有变量a的{}内printf才能发挥作用

注意:printf函数只能在主函数内才能发挥作用

四、变量的生命周期

生命周期:变量从创建到销毁的时间段

局部变量的生命周期:进入局部范围生命开始,离开局部范围生命结束

全局变量的生命周期:程序的生命周期

分析以上代码:

局部变量a的生命周期就在局部范围{}内发挥作用

一旦离开局部范围,生命周期结束,局部变量a将毫无意义,失去作用

e.g.在局部范围内printf函数发挥作用,可以打印局部变量a的值

在局部范围外printf函数报错,因为局部变量a的生命周期结束,此时a未定义

总结

以上就是本人对于变量以及变量的作用域和生命周期的学习和理解

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


网页名称:【C语言】认识变量及变量的作用域和生命周期-创新互联
分享网址:http://jkwzsj.com/article/dpscod.html

其他资讯