变量和基本类型
Posted ~永无止境~
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了变量和基本类型相关的知识,希望对你有一定的参考价值。
1、基本内置类型
C++定义了一套包括算术类型(整型、字符、布尔型、浮点型)和空类型在内的基本数据类型。算术类型的尺寸,即所占比特数,在不同机器上有所差别。
除了布尔型和扩展的字符型之外,整型划分为带符号的和无符号的unsigned。
当在程序的某处使用了一种算术类型的值而其实所需的是另一种类型的值时,编译器会执行类型转换。当表达式既有带符号类型又有无符号类型,当带
符号类型取值为负时会出现异常结果,因为带符号数会自动地转换成无符号数。
一个形如42的值被称作字面值常量,这样的值一望而知。都对应一种数据类型。short类型没有对应的字面值。十进制字面值的类型是int、long、long long
中尺寸最小的那个,是带符号数。如果使用u、L作后缀,可以更改字面值的类型。浮点型字面值是double类型。‘a‘字符char型字面值。"hello"字符串型字面值
(实际是常量字符构成的数组),编译器在每个字符串的结尾处添加一个空字符(‘\0‘),因此,字符串字面值的实际长度要比它的内容多1。如果字符串字面值位置
紧邻且仅由空格、缩进和换行符分隔,实际上是一个整体,可以分开书写。如 std::string str("hello" "world"); 是没有问题的。
2、变量
变量提供一个具名的、可供程序操作的存储空间。有类型,类型决定变量占用的空间、取值范围、能参与的运算。首先类型说明符,接着是由一个或多个
变量名组成的列表,变量名以逗号分隔,分号结束。如int a = 0,b;
当对象在创建时获得了一个特定值,我们说这个对象被初始化了。一次定义了两个或多个变量时,对象的名字随着定义也就马上可以使用,所以,可以
用先定义的变量值去初始化后定义的其他变量。如 int a = 2, b = a * 3;
初始化不是赋值,初始化的含义是创建变量时赋予一个初始值,而赋值的含义是把对象的当前值擦除,而以一个新值来替代。
int units_sold = 0;
int units_sold = {0};
int units_sold{0};
int units_sold(0);
上面4条语句都可以将int变量初始化为0,用花括号来初始化变量的形式被称为列表初始化,使用列表初始化且初始值存在丢失信息的风险,编译器将
报错。如long double ld = 3.1415926536; int a = {ld}; //错误。
如果定义变量时没有指定初值,则变量被默认初始化,默认值由变量类型决定,同时定义变量的位置也会起作用。内置类型的变量未显示初始化,它的
值由定义的位置决定,在函数体外的变量被初始化为0,在函数体内的变量将不被初始化,变量的值是未定义的。类的对象如果没有显示初始化,则其值
由类确定
以上是关于变量和基本类型的主要内容,如果未能解决你的问题,请参考以下文章