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++示例代码。希望对大家有帮助。
热门推荐
菩提根:佛教文化中的自然瑰宝
如果德国赢了二战
新能源铝合金双体游船的性能优势及关键技术
如何选择亚麻籽产品?
人工替代品注册难,穿山甲等濒危野生动物入药替代之路还有多远?
一碗麻辣烫多少卡路里?详解麻辣烫热量估算方法
福建泉州,这些地道的小吃,真的值得细细打卡!
肝酵素过高代表什么?了解成因、特征及改善方法
日本队在世界杯的历史记录:崛起与突破的关键时刻
子姜炒牛肉丝
牛街最好吃的店,先冲这10家
黄金下跌 特朗普关税冲击下投资者继续抛售黄金和其他资产
在家自查眼底可行吗?这几类人请定期检查
为什么说近视600度是一个分水岭?
元阳:哈尼梯田农耕文化独特魅力的世界之窗
不同麦克风设计的区别和工作原理是什么?
制药行业数据质量治理:确保合规性与患者安全的综合策略
安全生产六大纪律软件下载指南
购买英国飞机票需要多少时间
如何编制好施工计划
真能瘦脸!这个低成本抗衰运动,在家就能做!
竟和“火星”有联系?揭开“清明”背后的天文密码
手机卡顿怎么办?一文详解多种实用解决方案
香港五大经典都市传说:从高街鬼屋到中大辫子姑娘
原画角色设计思路分享
古代文人的园中雅趣
状态模式和策略模式对比
理解登鹳雀楼与欲穷千里目,一场解读古诗词的独特视角
农田土壤改良技术在高标准农田中的应用:科技助推土壤健康
未成年人实施正当防卫合法吗?法律这样规定