系列文章目录
在C++中,什么是变量?变量有哪些类型?
目录
前言
变量是一个可以存储数据值的容器。在C++中,每个变量都有一个数据类型,该类型决定了变量可以存储的数据类型和范围。
一、C++中的变量
1.什么是变量?
在C++中,变量是一个可命名的内存空间。
变量可以存储不同类型的数据,并且可以在程序的不同部分使用。
每个变量都有唯一的标识符,称为变量名。它可以在程序中使用,以表示存储在内存中的值或对象。
变量的数据类型必须在声明时指定,以便编译器知道为该变量分配多少内存,并在必要时进行类型转换。
变量在程序运行期间可以被修改,其值可以被读取并用于执行计算。
2.变量的类型
在C++中,有以下基本数据类型:
1. 整型(int)
2. 字符型(char)
3. 布尔型(bool)
4. 浮点型(float)
5. 双精度浮点型(double)
此外,还有以下扩展数据类型:
1. 枚举型(enum)
2. 无符号整型(unsigned)
3. 长整型(long)
4. 短整型(short)
5. 常量(const)
6. 指针(pointer)
7. 引用(reference)
下面我们详细来看一些常见的类型:
-
整数类型(Integer Types):
int
:用于表示整数,通常占用4个字节。short
:用于表示短整数,通常占用2个字节。long
:用于表示长整数,通常占用4个字节。long long
:用于表示更长的整数,通常占用8个字节。
-
浮点类型(Floating-Point Types):
float
:用于表示单精度浮点数,通常占用4个字节。double
:用于表示双精度浮点数,通常占用8个字节。long double
:用于表示更高精度的浮点数,占用字节数可以根据实现而变化。
-
字符类型(Character Types):
char
:用于表示字符,通常占用1个字节。wchar_t
:用于表示宽字符,通常占用2或4个字节。char16_t
:用于表示16位Unicode字符,占用2个字节。char32_t
:用于表示32位Unicode字符,占用4个字节。
-
布尔类型(Boolean Type):
bool
:用于表示布尔值,只能取true
或false
。
-
枚举类型(Enumeration Types):
enum
:用于定义一组命名的整数常量。
-
指针类型(Pointer Types):
type*
:用于表示指向类型为type
的对象的指针。
-
数组类型(Array Types):
type[]
或type[size]
:用于表示具有相同类型的元素组成的数组。
-
结构体类型(Structure Types):
struct
:用于定义包含多个不同类型成员的结构。
-
类类型(Class Types):
class
:用于定义具有属性和方法的自定义类型。
-
共用体类型(Union Types):
union
:用于定义一种特殊的数据类型,它可以在相同的内存位置存储不同的数据类型。
二、C++ 中的变量定义和声明
1.变量定义
变量定义就是告诉编译器在何处创建变量的存储,以及如何创建变量的存储。
下面使用代码来说明:
int a;
char b;
float c;
double d;
上面的代码就表示定义了4种类型的4个变量;下面的代码表示变量在声明时进行了初始化;
不带初始化的定义,带有静态存储持续时间的变量会被隐式初始化为 NULL(所有字节的值都是 0),其他所有变量的初始值是未定义的。
int a = 1;
char b = ‘b’;
float c = 1.0;
2.变量声明
- 变量声明是向编译器保证变量以给定的类型和名称存在,这样编译器在不需要知道变量完整细节的情况下也能继续进一步的编译。
- 变量声明只在编译时有它的意义,在程序连接时编译器需要实际的变量声明。
- 当使用多个文件且只在其中一个文件中定义变量时,变量声明就显得非常有用。
- 可以使用 extern 关键字在任何地方声明一个变量。虽然可以在 C++ 程序中多次声明一个变量,但变量只能在某个文件、函数或代码块中被定义一次。
下面来看看代码:
#include <iostream>
using namespace std;
// 变量声明
extern int a, b;
extern int c;
int main()
{
// 变量定义
int a, b;
int c;
// 实际初始化
a = 10;
b = 20;
c = a + b;
cout << c << endl;
return 0;
}
代码输出为30;
注意,这里变量是先被声明了,然后在被定义和初始化的;
还有一点就是:定义包含了声明,但是声明不包含定义。函数也是一样。
三、扩展
1.函数
上面的代码,变量是先被声明了,然后在被定义和初始化的;同样的操作,对于函数也是适用的。
下面就是一个例子:
// 函数声明
int Add();
// 函数定义
int Add(int a, int b) {
cout << a + b << endl;
return 0;
}
int main()
{
// 变量定义
int a, b;
// 实际初始化
a = 10;
b = 20;
Add(a, b);
return 0;
}
输出结果是30;
2.自动转换规则
变量的类型间是可以互相转换的,转换又分为自动转换和强制转换。
自动转换类型:
- 若参与运算量的类型不同,则先转换成同一类型,然后进行运算。
- 转换按数据长度增加的方向进行,以保证精度不降低。如int型和long型运算时,先把int量转成long型后再进行运算。 a、若两种类型的字节数不同,转换成字节数高的类型 b、若两种类型的字节数相同,且一种有符号,一种无符号,则转换成无符号类型
- 所有的浮点运算都是以双精度进行的,即使仅含float单精度量运算的表达式,也要先转换成double型,再作运算。
- char型和short型参与运算时,必须先转换成int型。
- 赋值运算中,赋值号两边量的数据类型不同时,赋值号右边量的类型将转换为左边量的类型。如果右边量的数据类型长度比左边长时,将丢失一部分数据,这样会降低精度:
强制转换规则:
强制类型转换是通过类型转换运算来实现的。
其一般形式为:(类型说明符)(表达式)其功能是把表达式的运算结果强制转换成类型说明符所表示的类型
int a = 1;
double b = 2.1;
cout << “a + b = ” << a + (int)b << endl; //输出为a + b = 3
总结
下面进行一些总结。在C++中,使用变量时需要注意以下主要事项:
-
声明变量:在使用变量之前,必须先声明该变量的类型和名称。
-
变量的初始化:变量可以在声明时进行初始化,也可以在后续的代码中进行初始化。对于未初始化的变量,其值是不确定的。
-
变量的类型:在使用变量时,需要明确变量的类型,这决定了变量能够存储的数据类型和所占用的内存空间大小。
最后,变量的使用还要注意变量的作用域,变量的作用域指的是变量在程序中可以被访问的范围。在C++中,变量可以有全局和局部作用域,需要根据需要来定义。这个我们会在后面讲到。
今天的文章c++中的变量是什么_整型变量和实型变量的区别分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/85299.html