c++变量类型

限时加码!20+主流AI编程工具免费用 购周边加赠Coding Plan Lite,Claude Code、Cursor等即刻畅享,学习进阶更高效! 阅读详情

C++ 变量类型

变量其实只不过是程序可操作的存储区的名称。

在 C++ 中,有多种变量类型可用于存储不同种类的数据。

C++ 中每个变量都有指定的类型,类型决定了变量存储的大小和布局,该范围内的值都可以存储在内存中,运算符可应用于变量上。

变量的名称可以由字母、数字和下划线字符组成。它必须以字母或下划线开头。

大写字母和小写字母是不同的,因为 C++ 是大小写敏感的。

基于前一章讲解的基本类型,有以下几种基本的变量类型,将在下一章中进行讲解:

类型描述
bool布尔类型,存储值 true 或 false,占用 1 个字节。
char字符类型,用于存储 ASCII 字符,通常占用 1 个字节。
int整数类型,通常用于存储普通整数,通常占用 4 个字节。
float

单精度浮点值,用于存储单精度浮点数。单精度是这样的格式,1 位符号,8 位指数,23 位小数,通常占用4个字节。

double

双精度浮点值,用于存储双精度浮点数。双精度是 1 位符号,11 位指数,52 位小数,通常占用 8 个字节。

void表示类型的缺失。
wchar_t宽字符类型,用于存储更大范围的字符,通常占用 2 个或 4 个字节。

C++ 也允许定义各种其他类型的变量,比如枚举、指针、数组、引用、数据结构、类等等,这将会在后续的章节中进行讲解。

  1. 整数类型(Integer Types):

    • int:用于表示整数,通常占用4个字节。
    • short:用于表示短整数,通常占用2个字节。
    • long:用于表示长整数,通常占用4个字节。
    • long long:用于表示更长的整数,通常占用8个字节。
  2. 浮点类型(Floating-Point Types):

    • float:用于表示单精度浮点数,通常占用4个字节。
    • double:用于表示双精度浮点数,通常占用8个字节。
    • long double:用于表示更高精度的浮点数,占用字节数可以根据实现而变化。
  3. 字符类型(Character Types):

    • char:用于表示字符,通常占用1个字节。
    • wchar_t:用于表示宽字符,通常占用2或4个字节。
    • char16_t:用于表示16位Unicode字符,占用2个字节。
    • char32_t:用于表示32位Unicode字符,占用4个字节。
  4. 布尔类型(Boolean Type):

    • bool:用于表示布尔值,只能取truefalse
  5. 枚举类型(Enumeration Types):

    • enum:用于定义一组命名的整数常量。
  6. 指针类型(Pointer Types):

    • type*:用于表示指向类型为type的对象的指针。
  7. 数组类型(Array Types):

    • type[]type[size]:用于表示具有相同类型的元素组成的数组。
  8. 结构体类型(Structure Types):

    • struct:用于定义包含多个不同类型成员的结构。
  9. 类类型(Class Types):

    • class:用于定义具有属性和方法的自定义类型。
  10. 共用体类型(Union Types):

    • union:用于定义一种特殊的数据类型,它可以在相同的内存位置存储不同的数据类型。

在 C++ 中,类型的长度(即占用的字节数)取决于编译器和计算机架构,然而,C++ 标准规定了不同整数类型的最小范围,而不是具体的字节数,这是为了确保代码在不同的系统上都能正确运行。

请注意,以上类型的范围只是 C++ 标准规定的最小要求,实际上,许多系统上这些类型可能占用更多的字节,例如,很多现代计算机上 int 通常占用 4 字节,而 long 可能占用 8 字节。

下面我们将讲解如何定义、声明和使用各种类型的变量。

C++ 中的变量定义

变量定义就是告诉编译器在何处创建变量的存储,以及如何创建变量的存储。

变量定义指定一个数据类型,并包含了该类型的一个或多个变量的列表,如下所示:

type variable_list;

在这里,type 必须是一个有效的 C++ 数据类型,可以是 char、wchar_t、int、float、double、bool 或任何用户自定义的对象,variable_list 可以由一个或多个标识符名称组成,多个标识符之间用逗号分隔。下面列出几个有效的声明:

int i, j, k; char c, ch; float f, salary; double d;

行 int i, j, k; 声明并定义了变量 i、j 和 k,这指示编译器创建类型为 int 的名为 i、j、k 的变量。

变量可以在声明的时候被初始化(指定一个初始值)。初始化器由一个等号,后跟一个常量表达式组成,如下所示:

type variable_name = value;

下面列举几个实例:

extern int d = 3, f = 5; // d 和 f 的声明 int d = 3, f = 5; // 定义并初始化 d 和 f byte z = 22; // 定义并初始化 z char x = 'x'; // 变量 x 的值为 'x'

不带初始化的定义:带有静态存储持续时间的变量会被隐式初始化为 NULL(所有字节的值都是 0),其他所有变量的初始值是未定义的。

C++ 中的变量声明

变量声明向编译器保证变量以给定的类型和名称存在,这样编译器在不需要知道变量完整细节的情况下也能继续进一步的编译。变量声明只在编译时有它的意义,在程序连接时编译器需要实际的变量声明。

当您使用多个文件且只在其中一个文件中定义变量时(定义变量的文件在程序连接时是可用的),变量声明就显得非常有用。您可以使用 extern 关键字在任何地方声明一个变量。虽然您可以在 C++ 程序中多次声明一个变量,但变量只能在某个文件、函数或代码块中被定义一次。

实例

尝试下面的实例,其中,变量在头部就已经被声明,但它们是在主函数内被定义和初始化的:

实例

#include <iostream> using namespace std; // 变量声明 extern int a, b; extern int c; extern float f; int main () { // 变量定义 int a, b; int c; float f; // 实际初始化 a = 10; b = 20; c = a + b; cout << c << endl ; f = 70.0/3.0; cout << f << endl ; return 0; }

当上面的代码被编译和执行时,它会产生下列结果:

30
23.3333

同样的,在函数声明时,提供一个函数名,而函数的实际定义则可以在任何地方进行。例如:

// 函数声明 int func(); int main() { // 函数调用 int i = func(); } // 函数定义 int func() { return 0; }

C++ 中的左值(Lvalues)和右值(Rvalues)

C++ 中有两种类型的表达式:

  • 左值(lvalue):指向内存位置的表达式被称为左值(lvalue)表达式。左值可以出现在赋值号的左边或右边。
  • 右值(rvalue):术语右值(rvalue)指的是存储在内存中某些地址的数值。右值是不能对其进行赋值的表达式,也就是说,右值可以出现在赋值号的右边,但不能出现在赋值号的左边。

变量是左值,因此可以出现在赋值号的左边。数值型的字面值是右值,因此不能被赋值,不能出现在赋值号的左边。下面是一个有效的语句:

int g = 20;

但是下面这个就不是一个有效的语句,会生成编译时错误:

10 = 20;
C++ 变量(整型与浮点型) 本节我们将学习C++中的变量,包括变量的定义、赋值。变量在编程语言中是一个非常重要的内容,本节内容不难,但极其重要。希望大家认真学习。 阅读详情

相关推荐

[C++] 变量

这篇博客详细介绍了C++中的变量,看看有没有涨你的芝士呢~

switch_pu的博客 475

C++变量

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 一、什么是变量 变量就是一个代号,程序运行时系统会自动为变量分配内存空间,于是变量就代表了系统分配的那片内存空间。对变量的访问,就是对.

m0_67245659的博客 2786

从零开始学习C++——变量

C++变量的使用

Phantom_HY的博客 1226

c++入门——变量

变量的定义的基本格式是:首先是类型说明符,然后是变量名组成的列表,变量也可以赋初值,每个同类型的变量之间用逗号分开,结束时用分号隔开。int i=-30;//name通过一个string字面值初始化在c++中,存在对象和变量这两种说法,很多人分不清对象和变量的区别,对象是指的是一块能存放数据并具有某种类型的存储空间。单单从定义上来说,其实都是一个东西。只是有人习惯的把与类有关的称为对象,实际上都可以称为对象,如何称呼完全依据个人的爱好。就像方法和函数的区分。

qq_59931372的博客 2142

C++ 变量类型

本文对C++中的变量类型进行了详细阐述,包括基本类型、复合类型和引用类型。掌握这些变量类型对于编写高效的C++代码至关重要。希望本文能帮助读者更好地理解和应用C++变量类型

csbysj2020 475

C++ 变量类型详解

C++提供了丰富的变量类型,以满足各种编程需求。在编写C++程序时,选择合适的变量类型非常重要,它不仅可以提高代码的可读性和可维护性,还可以优化程序的性能。因此,了解并熟悉C++变量类型是每个C++程序员必须掌握的基本技能之一。

男Ren、麦根的博客 2100

C++系列」C++ 变量类型

C++中,变量定义涉及到指定变量的类型以及变量的名称,并可能包括初始化(即给变量赋一个初始值)。下面将展示几个详细的C++变量定义及使用的案例代码。// 定义并初始化整型变量// 定义并初始化浮点型变量// 定义并初始化字符型变量// 定义布尔型变量并初始化// 输出变量值return 0;// 定义并初始化整型数组// 遍历数组并打印每个元素i < 5;// 定义结构体int age;// 定义并初始化结构体变量

日常笔记/总结/系列知识梳理 3674

深入了解C++变量类型有哪些

一般来说,无论是想要转行成为C++开发工程师,还是合格的C++开发工程师,都需要了解和数据C++基础知识。接下来小编带你一起了解下C++变量类型: 深入了解C++变量类型有哪些 什么是变量变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念。 在计算机程序语言中,变量指的是为程序中的数据提供的内存空间的名称。也就是说只要你在程序中创建了一个变量,不管后面有没有使用到,编译系统就都会自动的在内存中开辟出一个空间用来存放你需要保存的值,而变量就是我们给这个空间所起的名字。如下我们创建一个变量取名n

kaikeba的博客 7807

C++查看完整变量类型

C++查看完整变量类型 使用 cout<<typeid(int).name()<<endl; #include<typeinfo> #include<iostream> using namespace std; int main(){ char search; scanf("%c",&search); cout<<typeid(search).name()<<endl; } 输出结果如下: 56 c ----------

编程小喵 1504

C++ 获取变量类型

一、如何获取变量类型 使用 typeid 关键字 二、测试例子 包含头文件 #include <typeinfo> 1、基本数据类型 #include <iostream> #include <typeinfo> int main(int argc, char* argv[]) { int a = 0; float b = 0; double c = 0; char d = 0; std::cout << typeid

大袖技术 5752

机器人CPP编程基础-03变量类型Variables Types

Arduino IDE使用的是C++变量类型,因此它支持C++的所有常见变量类型C++14引入了一些新的变量类型,这些类型在C++11和C++17中都有所扩展。C++20引入了一些新的变量类型和功能,进一步扩展了语言的表达力和性能。这些是C++20引入的一些主要变量类型和功能。这些功能进一步增强了语言的表达力和性能,并提供了更多的灵活性和控制。这些是C++14引入的一些主要变量类型和功能。这些功能增强了语言的表达力和性能,并提供了更多的灵活性和控制。这些是C++中的主要变量类型

zhangrelay的专栏 2084

007-C++ 变量类型

在前面介绍了 C++变量类型的分类,包括其存储类型、作用域、生命周期以及特殊变量类型C++ 中的变量是程序中存储数据的基本单元,每个变量都有一个特定的类型,用于定义其存储的数据类型和作用范围。通常用于多线程编程或硬件相关的开发中,保证变量的值每次都从内存中重新读取,而不是使用缓存的值。关键字是 C++11 引入的,表示变量在每个线程中都有独立的存储空间。关键字用于定义不可修改的变量,表示该变量在初始化后其值不能被改变。变量的作用域决定了其在程序中的可见范围。更严格,要求变量的值在编译时就能确定。

小宝哥Code的专栏 1475
上一篇: c++数据类型
下一篇: c++常量
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值