您现在的位置是:群英 > 开发技术 > 编程语言
C语言中变量与常量怎么样定义和使用?
Admin发表于 2022-02-15 17:52:411841 次浏览

    这篇文章我们来了解C语言中变量与常量怎么样定义和使用,有一些朋友对于常量和变量不是很了解的,本文对大家会有帮助,下文有详细的介绍,有需要的朋友可以参考,接下来就跟随小编来一起学习一下吧!

        一.变量

        1.1定义变量的方法

        如图中所示,变量可被定义为各种数据类型,如int 整型 char字符数据类型,short短整型,float单精度浮点数,double双精度浮点数等等。一般在变量定义后,需给变量赋值,如图中对所有变量给与了0的赋值,这也是一个良好的代码习惯。

        1.2变量的分类

        变量分为局部变量和全局变量。

        局部变量:定义在代码块内部的变量,一个大括号中所有代码便是一个代码块,局部变量只在代码块中存在和生效,如下图中这种情况

        变量被定义a和第一个输出函数printf在同一个代码块中,所以输出函数可以成功的输出代码a的值0。但变量b被定义的代码块和第二个输出函数printf不在同一个代码块中,变量b只在其被定义的代码块中存在,在第二个输出函数printf所在的代码块中不存在,所以编译器会报错,未定义标识符b。

        如果是上图这种情况,变量a的值是可以被输出的,因为输出函数printf仍在变量a所在的这个整体的代码块(大括号之中)。

        如上的变量a与变量b,被定义在某一个代码块中的变量,即为局部变量。

        全局变量:被定义在代码块之外的变量,但要保证在#include<stdio.h>之后才定义,作用域为全体范围,整个程序的作用域该变量均存在。 

        如上图该程序的输出结果为10。但当代码块中出现和全局变量同名的变量时,全局变量的值会被覆盖,如下图。会将代码块中局部变量的值覆盖全局变量的值,但仅在该代码块中起到这样的效果,如果其它代码块中没有和全局变量同名的局部变量,仍以全局变量的值为该变量的值。

        1.3变量的使用

        先定义变量,然后变量可以参加加减乘除等运算,也可以使用printf输出函数打印该变量的值,或者使用scanf输入函数,从外部输入对该变量进行赋值。

        输入该变量的值时候,要在该变量前面加&符号,&符号的意思是取地址,又叫取地址符号。

        二.常量

        C语言中常量分为字面常量(包括字符常量,const 修饰的常变量,#define定义的标识符常量,枚举常量四种常量。

        2.1字面常量

        字面常量即用数字和字符组成的常量,如下图所示。

         2.2 const修饰的常变量

        如上图所示,对在定义一个变量的时候在前面加上const代表该变量是不可修改的。但该变量本质上还是作为一个变量存在,又被称为常变量。例如在定义数组的时候只能使用常量,假如使用了const修饰的常变量,大部分编译器会报错(因为在C99标准之前,变长数组,不允许用变量指定数组大小)。如下图所示,定义数组大小只可以用常量!!

         2.3#define定义的标识符常量

     

        如上图所示可以用#define+常量名+具体大小的形式定义标识符常量,上图的MAX便是这么定义的,在代码习惯中一般用大写字母。

        2.4 枚举常量

        枚举的意思是可以一一列举,如生活中的性别(男性和女性),人种(黄种人,白种人和黑种人),这样种类比较少的常量可以用枚举类型,作为枚举常量。

        定义枚举类型的时候如上图所示,枚举这种类型可能的取值就是枚举常量。枚举常量和枚举常量之前用逗号隔开,所有的枚举常量被放在一个大括号中,在该大括号的末尾用分号作为结束。 

        以上就是关于C语言中变量与常量的相关介绍了,对大家学习和理解变量与常量会有帮助,需要的朋友可以参考。想要了解更多内容,大家可以关注群英网络其它的相关文章。

    文本转载自PHP中文网

    免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

    相关信息推荐
    2022-09-15 17:48:12 
    摘要:本篇文章给大家带来了关于java的相关知识,动态代理指的是,代理类和目标类的关系在程序运行的时候确定的,客户通过代理类来调用目标对象的方法,是在程序运行时根据需要动态的创建目标类的代理对象。下面将通过案例详细讲解一下Java动态代理的原理及实现,希望对大家有帮助。
    2022-10-09 18:12:05 
    摘要:本文主要介绍了Springboot使用redis实现接口Api限流的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-09-03 17:53:50 
    摘要:本篇文章给大家介绍一下eclipse中使用bootstrap的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
    云活动
    推荐内容
    热门关键词
    热门信息
    群英网络助力开启安全的云计算之旅
    立即注册,领取新人大礼包
    • 联系我们
    • 24小时售后:4006784567
    • 24小时TEL :0668-2555666
    • 售前咨询TEL:400-678-4567

    • 官方微信

      官方微信
    Copyright  ©  QY  Network  Company  Ltd. All  Rights  Reserved. 2003-2019  群英网络  版权所有   茂名市群英网络有限公司
    增值电信经营许可证 : B1.B2-20140078   粤ICP备09006778号
    免费拨打  400-678-4567
    免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
    微信公众号
    返回顶部
    返回顶部 返回顶部