C++基础:数据类型介绍
创作时间:
作者:
@小白创作中心
C++基础:数据类型介绍
引用
CSDN
1.
https://blog.csdn.net/u012171005/article/details/145993325
本文对C++语言中的数据类型做一个简单的介绍。
大家知道,C++ 是一种通用、高性能的编程语言,支持多范式编程(面向对象、泛型、过程化),由本贾尼·斯特劳斯特卢普(Bjarne Stroustrup)于 1985 年基于 C 语言扩展而来。
官网地址:https://cplusplus.com/doc/
参考手册:https://cppreference.cn/w/
二、基本数据类型
- 整型
表示整数,包含以下类型:
int
:标准整数,通常占4字节,范围:-2,147,483,648 ~ 2,147,483,647
示例:int a = 1000;
short
:短整型,通常占2字节,范围:-32,768 ~ 32,767
示例:short b = 30;
long
:长整型,通常占4字节(32位系统)或8字节(64位系统),32位系统范围:-2,147,483,648 ~ 2,147,483,647,64位系统范围:-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
示例:long c = 100000L;
long long
:64位整数(C++11引入),范围:-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
示例:long long d = 9000000000000000000LL;
- 浮点型
表示带小数的数值:
float
:单精度浮点,通常占4字节,精度约6-7位小数
示例:float e = 3.14f;(需加`f`后缀)
double
:双精度浮点,通常占8字节,精度约15-16位小数
示例:double f = 3.1415926535f;
long double
:扩展精度,通常占12或16字节,精度约18~34位小数
示例:long double g = 3.1415926535897932385L;
- 字符型
char
:存储单个字符(1字节),实际为ASCII码整数
示例:char h = 'A';(等价于`h = 65;`)
wchar_t
:宽字符类型(通常为2或4字节),用于Unicode
示例:wchar_t wc = L'中';(前面需要多一个大写的L)
- 布尔型
bool
:仅取true
或false
(底层存储为1或0)
示例:bool flag = true;
三、类型修饰符
signed
:有符号类型(默认),可表示正负值
示例:signed int si = -100;
unsigned
:无符号类型,仅表示非负值
示例:unsigned int ui = 40000;
short
/long
:结合整型使用,调整存储空间
示例:unsigned long ul = 4294967295UL;
四、派生数据类型
- 数组
存储同类型元素的连续集合:
int arr[5] = {1, 2, 3, 4, 5};
- 指针
存储变量内存地址:
int a = 100;
int* p = &a; // 指向整型变量的指针
- 引用
变量的别名:
int a = 100;
int& ref = a; // 引用必须初始化
五、标准库类型
C++ 标准库包括一组头文件,这些头文件提供了各种功能和工具,涵盖了输入输出、容器、算法、多线程、正则表达式等。比如:
std::string
,字符串类型:
std::string s = "Hello";
std::vector
,动态数组:
std::vector<int> v = {1, 2, 3};
std::array
,固定大小数组(C++11 引入)
std::array<int, 3> a = {1, 2, 3};
std::pair
,存储两个值的容器:
std::pair<int, float> p(1, 2.0);
std::map
,键值对容器:
std::map<int, std::string> m;
std::set
,唯一值集合:
std::set<int> s = {1, 2, 3};
六、用户自定义类型
- 结构体(
struct
)
组合不同数据类型:
struct Point {
int x;
int y;
};
Point p1 = {10, 20}; // 结构体实例化
- 枚举(
enum
)
定义命名常量集合:
enum Color { RED, GREEN, BLUE };
Color c = RED; // 枚举赋值
- 类(
class
)
面向对象的核心类型:
class Circle {
public:
double radius;
double area() { return 3.14 * radius * radius; }
};
Circle cir;
cir.radius = 5.0; // 类对象使用
七、空类型(void
)
- 表示无类型,用于函数返回值或指针:
void printMessage() { ... } // 无返回值函数
void* ptr = nullptr; // 通用指针
八、类型转换
- 隐式转换
自动类型提升:
int num = 10;
double d_num = num; // int → double
- 显式转换
强制类型转换:
double pi = 3.14159;
int int_pi = static_cast<int>(pi); // 截断为3
九、其他
- 类型大小可通过
sizeof
运算符获取:
cout << "int 大小: " << sizeof(int) << " 字节" << endl;
- C++11引入
auto
关键字自动推导类型:
auto var = 5; // var类型为int
auto str = "Hello"; // str类型为const char*
十、总结
以上对C++语言中基本数据类型、派生数据类型、自定义数据类型等等做了简单的介绍,并提供了相关的C++示例代码。希望对大家有帮助。
热门推荐
痘印如何去除?淡化痘印的有效方法
数据| 全球葡萄酒产需失衡 中国本土葡萄酒产量不能满足需求
电子工程师必读:元器件选型的完整指南
商标异议相关问题探讨
QLED 与 OLED:主要区别以及选择理想电视的技巧
103472元!惠州年平均工资又涨啦!这些行业很赚钱
商标被抢注,企业如何“抢回”品牌生命线?
浪潮席卷世界,行业千帆竞发,2024年全球新能源汽车市场前瞻
低血糖和贫血的区别是什么
中国公司市值500强出炉:腾讯、阿里“跌落神坛”,谁是第一?
主板尺寸与结构演变:从ATX到BTX的创新之路
全面了解科普内容,涵盖领域、实例与实用价值
肾炎早期的七种常见症状
尿常规哪几项显示肾炎
新加坡留学说普通话?如何顺利交流?
Cell:AI取代科研人员还有多远?
2025春游湖南攻略:从花海到梯田,邂逅最美春日风光
丹阳子马钰:全真道二代掌教的传奇人生
流感进入高发季 抗病毒药物怎么选?
《快雪时晴帖》——王羲之晚年的艺术瑰宝
房间很冷怎么办?空调制暖开几度最省电?4个实用取暖技巧!
冬天家中常备5种中成药,预防多种小病,健康过冬
交警提醒:老年代步车上路行驶涉嫌违法
时机不对,努力全废:科学决策何时能让初创企业受益?
全面二孩政策对家庭生育决策的影响及效果评估
电脑格式化之前怎么备份文件?四个备份选项
陈皮加蜂蜜泡水的功效与作用
送你一份完整的演讲提升路径规划
从地域、历史到风格,文玩手串不同流派背后的文化内涵!
封神大战结束后,姜子牙为何不给自己、妲己和龟灵圣母封神?