C++变量类型

简介: C++变量类型包括基本类型如bool、char、int、float、double等,支持整数、浮点数、字符和布尔值的存储。还包含指针、数组、结构体、类、共用体等复合类型。变量命名由字母、数字、下划线组成,首字符须为字母或下划线。支持变量声明与定义分离,局部变量需显式初始化,静态变量自动初始化为0。

C++变量类型

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

类型 描述
bool 布尔类型,存储值为true或false,占用1个字节
char 字符类型,用于存储ASCII字符,通常占用1个字节
int 整数类型,通常用于存储普通整数,通常占用四个字节
float 单精度浮点值,用于存储单精度浮点数。单精度是这样的格式,1位符号,8位指数,23位小数,通常占用4个字节。
double 双精度浮点值,用于存储双精度浮点数。双精度是1位符号,11位指数,52位小数,通常占用8个字节。
void 表示类型的缺失
wchar_t 宽字符类型,用于存储更大范围的字符,通常占用2个或4个字节。
  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个字节)
  4. 布尔类型(Boolean Type):bool(用于表示布尔值,只能取truefalse
  5. 枚举类型(Enumeration Types):enum(用于定义一组命名的整数常量)
  6. 指针类型(Pointer Types):type*(用于表示只想类型为type的对象的指针)
  7. 数组类型(Array Types):type[]或type[size](用于表示具有相同类型的元素组成的数据)
  8. 结构体类型(Structure Type):struct(用于定义包含多个不同类型成员的结构)
  9. 类类型(Class Types):class(用于定义具有属性和方法的自定义类型)
  10. 共用体类型(Union Types):union(用于定义一种特殊的数据类型,它可以在相同的内存位置存储不同的数据类型)

C++变量定义

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++变量声明

#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;
}
相关文章
|
前端开发 JavaScript Java
基于SSM的鲜花线上销售系统设计与实现
基于SSM的鲜花线上销售系统设计与实现
779 2
|
网络协议 Docker 容器
Docker容器内不能联网的6种解决方案
Docker容器内不能联网的6种解决方案   注:下面的方法是在容器内能ping通公网IP的解决方案,如果连公网IP都ping不通,那主机可能也上不了网(尝试ping 8.
13643 2
|
5月前
|
存储 数据采集 人工智能
2026 AI 元年:当人工智能不再以“创新项目”的形式出现
本文阐述AI正从“项目制创新”迈向“底座化基础设施”:2026年起,AI不再以独立试点存在,而是作为默认能力嵌入系统底层;工程范式转向概率驱动,经济成本趋近算力水平,交付形态趋于无感智能。厚平台、薄应用成为新结构。
323 5
|
7月前
|
数据挖掘 C++ 计算机视觉
Python:ImportError:DLL loadfailed while importing onnxruntime_pybind11_state: 动态链接库(DLL)初始化例程失败 报错解决
在进行文件夹内人脸识别与对比聚类时,遇到onnxruntime库报错,通常因版本不兼容或环境冲突导致。本文整理了五种解决方案:降级onnxruntime至1.14.1、重装库、区分GPU/CPU版本、安装Visual C++运行库、创建Python虚拟环境。通过版本匹配与环境隔离,有效解决DLL初始化失败等问题,提升项目稳定性。
3323 8
|
存储 网络协议 网络虚拟化
交换机工作原理(MAC地址表、VLAN)
交换机是局域网中的核心设备,工作在OSI模型的数据链路层,通过MAC地址表和VLAN技术实现高效的数据帧转发与网络隔离。其基本原理包括根据目的MAC地址智能转发数据帧,利用MAC地址学习、老化机制维护地址表。同时,VLAN(虚拟局域网)技术可将网络划分为多个逻辑子网,提供流量隔离、增强安全性和灵活管理等功能。实际应用中,交换机与VLAN广泛用于企业、学校和数据中心等场景,满足不同用户群体的需求并优化网络性能。
1553 8
|
7月前
|
人工智能 自然语言处理 运维
免费智能客服系统盘点与企业建设成本全解析
本文盘点主流免费智能客服系统,解析企业建设成本构成,对比瓴羊Quick Service、亿捷云客服、Zendesk电商版等产品在不同场景下的适配性与服务能力,为中小微、中大型及跨境企业提供科学选型建议,助力低成本实现服务智能化升级。
|
3月前
|
安全 API
敏感词过滤-文本审核-敏感词审核-违禁词审核-敏感词检测-违禁词检测
本服务提供智能文本审核,精准识别违禁词、色情低俗、恶意推广、辱骂攻击及低质灌水内容,并校验广告法合规性,适用于评论过滤、注册信息筛查、文章发布等场景,保障内容安全与平台合规。
753 1
|
AI芯片
AIGC视频生成/编辑技术调研报告
随着图像生成领域的研究飞速发展,基于diffusion的生成式模型取得效果上的大突破。在图像生成/编辑产品大爆发的今天,视频生成/编辑技术也引起了学术界和产业界的高度关注。该分享主要介绍视频生成/编辑的研究现状,包括不同技术路线的优劣势,以及该领域当下面临的核心问题与挑战。
2311 3
AIGC视频生成/编辑技术调研报告
|
机器学习/深度学习 人工智能 算法
机器学习算法的优化与改进:提升模型性能的策略与方法
机器学习算法的优化与改进:提升模型性能的策略与方法
2622 13
机器学习算法的优化与改进:提升模型性能的策略与方法
|
搜索推荐 Android开发 iOS开发
探索安卓与iOS开发的差异之美
在数字时代的浪潮中,移动应用开发如同一场精心编排的交响乐,安卓和iOS这两大平台扮演着不同乐器的角色,各自以独特的方式奏响。本文将带领读者走进这场音乐盛宴,感受两大平台在开发过程中所展现的不同韵律,从设计理念到用户体验,从市场占有率到生态系统,我们将一探究竟,欣赏它们如何在竞争激烈的市场中和谐共存,共同推动技术的进步与创新。
283 27