字面值

在C语言里,一切表达式都有值;字面值,形如“21”,“88.3F”等,是字面形式输入到源代码的值。

有值就需要存放值的空间,空间的大小可以通过sizeof()操作符来获取。如printf("%zd", sizeof(21))

值需要占据多少空间,取决于值的类型。变量的类型可以通过声明变量时标识符前的类型修饰符来指定,而字面值的类型则由编译器通过字面值的形式来判断。如“21”是Int类型的字面值,而“21L”则是Long类型的字面值。对于一个浮点数而言,默认的字面值类型是Double类型而不是Float类型,这是为了保证浮点数的精度。

如果赋值语句的右操作数是一个字面值,可能会牵扯到类型转换的问题。比如下面的例子,float num = 21.2;。21.2在计算机内部的二进制系统中不能被精确地表示,这导致编译器默认21.2的类型为Double类型,而把一个Double类型的字面值通过赋值语句赋给一个Float类型的变量,会引起浮点数精度的丢失。因此,编译器通常会对这一类语句提出警告。要避免这个问题,在开始时要将字面值指定为Float类型,float num = 21.2F

[文] Lightyears

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、基本内置类型 C++定义的几种基本的算术类型:int,char,float和bool。以及特殊的void类型,...
    LuuilX阅读 2,676评论 5 1
  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young阅读 4,209评论 1 10
  • 注:这是第三遍读《C语言深度解剖》,想想好像自从大学开始就没读完过几本书,其中谭浩强的那本《C语言程序设计(第四版...
    HavenXie阅读 1,925评论 1 6
  • 关于 Swift 重要这个文档所包含的准备信息, 是关于开发的 API 和技术的。这个信息可能会改变, 根据这个文...
    无沣阅读 4,646评论 1 27
  • 初中之前我是一个很古怪的小孩(还好后来越来越正常)。一方面我外向得惊人,经常走在路上也要拉着同行的路人聊天,分开时...
    小飞侠朵朵阅读 74评论 0 5

友情链接更多精彩内容