变量的声明、定义、赋值和初始化有什么区别

区别有:1、声明、定义、赋值和初始化的作用区别;2、声明和定义两者的联系与区别。声明用于向程序表明变量的类型和名字;定义主要用于为变量分配存储空间;赋值是把对象的当前值擦除,再给一个新值替代;初始化是在创建变量时赋予一个初始值。

变量的声明、定义、赋值和初始化有什么区别-Worktile社区

1、声明、定义、赋值和初始化的作用区别

声明的作用:向程序表明变量的类型和名字。一个文件如果想使用别处定义的名字,则必须包含对那个名字的声明。如果在当前编译语句的前面中没有找到相应的变量或者函数,也会在当前文件的后面或者其它文件中定义。

定义的作用:主要用于为变量分配存储空间,同时负责创建与名字相关联的实体。当然,定义也会规定变量的类型和名字,还申请存储空间,也可能为变量附一个初始值。

赋值的作用:把对象的当前值擦除,而已一个新值替代。

初始化的作用:创建变量时赋予一个初始值,即从无到有。

2、声明和定义两者的联系与区别

声明和定义存在一定联系,即定义是一种特殊的声明,因为当定义变量时我们也向程序表明了它的类型和名字。但声明不是定义,可以通过使用extern关键字声明变量而不定义它。不定义变量的声明包括对象名、对象类型和对象类型前的关键字extern。

声明和变量又存在一些明显区别:首先,程序中变量可以声明多次,但只能定义一次;其次,变量声明不分配空间,而变量定义分配空间。

总结来说,声明一个变量只是将变量名标识符的有关信息告诉编译器,使编译器“认识”该标识符,但声明不一定引起内存的分配。而定义变量意味着给变量分配内存空间,用于存放对应类型的数据,变量名就是对相应的内存单元的命名。

延伸阅读:

变量的类型

C语言中,变量分为全局变量和局部变量;也可以这样分:自动变量,静态变量.前者是按变量作用范围来分的,而后者是按变量存储方式来分的。

在C语言中,如果按存储占用空间来分,包括:

整型变量(代码为int),整型变量包括长整型变量(代码为long int)以及短整型变量(代码为short int),字符型变量(代码为char),浮点型变量(代码float)等。当然还有数组,结构体变量等.但新手需要注意的是,每一种变量类型最终都对应的格式字符.如:%d。

C语言还有一个重要变量:指针变量.它存放的值是一个内存地址。C语言中变量名是有大小写之分的,如SUN与sun就是两个不同的变量名。

另一点,声明变量时,可以不用声明就直接赋值来决定变量类型的语言,这类语言变量的声明通常被称为弱类型,而如(c++等)必须先声明,后使用,而且声明时必须确定变量类型,这种就是严格的数据类型。

变量有两种类型:属性变量和用户自己建立的变量。

文章标题:变量的声明、定义、赋值和初始化有什么区别,发布者:小编,转载请注明出处:https://worktile.com/kb/p/38520

(1)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023年2月16日 下午11:08
下一篇 2023年2月16日 下午11:11

相关推荐

  • 通信原理中通信电路和信道的区别联系

    通信原理中通信电路和信道的区别:1、概念不同;2、功能不同;3、物理实现不同。通信原理中通信电路和信道的联系:1、目的相同;2、所处地位相同;3、现状相同。概念不同是指通信电路是利用电子通信设备传输信息的通路,而信道是媒介。 一、通信原理中通信电路和信道的区别 1、概念不同 通信电路:通信电路是指在…

    2023年4月2日
    23800
  • mac可以用哪个项目管理软件?

    mac可以用的项目管理软件有:一、OmniFocus;二、Things 3;三、Asana;四、Trello。OmniFocus 是一款功能强大的项目管理工具,它能够帮助你更好地跟踪任务和项目进度。OmniFocus 具有优秀的界面和易用性,你可以轻松地将任务和项目分类。 一、OmniFocus O…

    2023年3月31日
    35100
  • jira如何管理项目

    jira管理项目包括以下步骤:一、需求管理;二、Sprint Planning;三、Sprint阶段;四、Sprint结束;五、发布上线。需求管理由产品经理PO提出确定需要做的需求,然后在JIRA里自己的项目下,建立需求Issue,指派给PO。如果需求比较小,则建立需求的Issue类型选择Story…

    2023年3月21日
    20000
  • 金蝶看板管理和bi的区别

    区别是:1. 定义不同;2. 数据处理方式不同;3. 数据来源不同;4. 使用场景不同;5. 用户群体不同6. 实现难度不同;7. 数据安全性不同;8. 价格不同。金蝶看板管理是基于金蝶云平台的一种企业数据可视化工具。BI(Business Intelligence)是一种数据分析和报告工具。 1….

    2023年2月28日
    43700
  • css字体大小

    CSS中的字体大小设置是网页设计的基础之一,它允许开发者控制网页上文本的大小。本文将讨论3个主要方面:1、CSS中设置字体大小的单位;2、如何在CSS中设置字体大小;3、适应不同屏幕和设备的响应式字体大小设计。理解这些概念有助于创建更好的用户体验和更美观的网页设计。 1、CSS中设置字体大小的单位 …

    2023年8月14日
    4500
  • Apache Hadoop, IBM Symphony Platform, Aliyun ODPS, Tencent TDW 的区别与联系

    区别:Apache Hadoop属于开源的分布式计算基础架构。IBM Platform Symphony的一个核心优势是,它能屏蔽底层基础设施的复杂性。ODPS底层的基础架构和Hadoop类似,基本理论基础是Gooogle开放的那几篇论文。Tencent TDW是腾讯基于Hadoop生态圈的开源产品…

    2023年2月21日
    16500
  • 加密的六个好处有哪些

    加密的六个好处:1、加密有助于维护数据完整;2、加密有助于组织恪守规定;3、加密可跨设备保护数据;4、加密在将数据移动到云存储时有帮助;5、加密有助于组织保证办公室的安全;6、数据加密可保护知识产权。 加密的六个好处 1、加密有助于维护数据完整 黑客不止偷窃信息;他们也可以更改数据来进行诈骗。虽然熟…

    2022年11月3日
    66100
  • 弹性云服务器由哪些部分组成

    弹性云服务器是由CPU、内存、操作系统、云硬盘组成的最基础的计算组件。弹性云服务器创建成功后,可以像使本地PC或物理服务器一样,使用弹性云服务器。弹性云服务器的开通,只需要指定CPU、内存、操作系统、规格、登录鉴权方式即可。 什么是弹性云服务器 弹性云服务器(Elastic Cloud Server…

    2022年10月13日
    33000
  • c++运算符重载

    C++运算符重载是C++编程中一项强大的特性,允许开发者自定义运算符的行为,以便更直观地操作自定义数据类型。本文将深入探讨以下三个方面:1、运算符重载的基本概念;2、运算符重载的常见用例和实现方法;3、运算符重载的注意事项和限制。其中,我们将以具体代码示例展示如何重载加法运算符以支持自定义类的操作。…

    2023年8月14日
    4400
  • java oa系统有哪些模块

    java oa系统有以下模块:一、个人事务模块;二、工作流模块;三、行政事务模块;四、人力资源模块;五、公文档案管理模块;六、EPR管理模块;七、CMS管理模块;八、系统管理模块。个人事务模块有内部邮件、手机短信管理、消息管理、提醒设置、微讯群管理等。 一、个人事务模块 内部邮件、手机短信管理、消息…

    2023年3月31日
    7800

发表回复

登录后才能评论
联系我们
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部