c++中基本类型详细解释外加基本运算规则

简介: 类型 含义wchat_t 宽字符bool 布尔类型char 字符chat16_t unicode字符chat_32 unicode字符short 短整型int 整形long 长整型longlong 长整型float 单精度浮点型double 双精度浮点型longdouble 扩展精度浮点型

👀👀#c++中包括算数类型和空类型。

类型 含义
wchat_t 宽字符
bool 布尔类型
char 字符
chat16_t unicode字符
chat_32 unicode字符
short 短整型
int 整形
long 长整型
longlong 长整型
float 单精度浮点型
double 双精度浮点型
longdouble 扩展精度浮点型
👀👀#复合类型:
是基于其他类型定义的类型(引用和指针)。
引用:为对象起一个名字,引用类型引用另外一种类型。通过将声明符写成&d的形式来定义引用类型,其中d是声明的变量名。

int ival =1024;
int &refo =ival;
1
2
注释:refo指向ival(是ival的另外一个名字)
👀👀#引用本质就是一个指针变量。
引用一旦初始化后,就不可以再发生改变(不能再引用其他变量)

int a=10;
int c=12;
//编译器自动转化为:int* const b=&b;
//指针常量是指针指向不可以改变,同理证明为什么引用不可以更改
int &b=a;
//int &b=c;(错误写法)

1
2
3
4
5
6
7
引用需要一个合法的内存空间

// int &ref=10; 错误写法
//更改方法
const int &ref =10;
//编译器可以优化代码即等价于:
int temp=10;
const int &ref =temp;
//加const以后就不能再更改变量的值了
1
2
3
4
5
6
7
👀👀#引用传递

include

using namespace std;
void swap(int& a, int& b)
{

int temp = a;
a = b;
b = temp;
cout << a << endl;
cout << b << endl;
AI 代码解读

}
int main()
{

int a = 10;
int b = 20;
swap(a, b);
return 0;
AI 代码解读

}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
引用传递,形参会修饰实参。(实参也会改变)

👀👀#简单介绍一下const的用法:

const int * const p =&a;
1
特点:指针指向和指针指向的值都不可以改变。

int * const p= &a;
1
指针常量特点:
指针的指向不可以改,指针指向的值可以改变。

const int * p =&a;
1
常量指针特点:
指针的指向可以修改,但是指针指向的值不可以改变。
👀👀#指针
指针是实现了对其他对象的间接访问。
指针本身就是一个对象,可以指针赋值和拷贝,在指针的生命周期内可以先后指向几个不同对象。指针无需在定义时赋值。
指针值
应该处于4种状态之一
1.指向一个对象
2.指向紧邻对象所占空间的下一个位置
3.空指针,没有指向任何对象
4.无效指针。(其他3种情况之外)
👀👀#void * 指针
特殊类型指针,可以存放任意对象的地址,作为函数的输入和输出、不能直接操作void * 指针所指的对象,(因为不知道所指对象类型)

目录
打赏
0
1
1
0
5
分享
相关文章
【C++ 软件设计思路】学习C++中如何生成唯一标识符:从UUID到自定义规则
【C++ 软件设计思路】学习C++中如何生成唯一标识符:从UUID到自定义规则
419 0
|
2月前
|
【C++数据结构——栈与队列】顺序栈的基本运算(头歌实践教学平台习题)【合集】
本关任务:编写一个程序实现顺序栈的基本运算。开始你的任务吧,祝你成功!​ 相关知识 初始化栈 销毁栈 判断栈是否为空 进栈 出栈 取栈顶元素 1.初始化栈 概念:初始化栈是为栈的使用做准备,包括分配内存空间(如果是动态分配)和设置栈的初始状态。栈有顺序栈和链式栈两种常见形式。对于顺序栈,通常需要定义一个数组来存储栈元素,并设置一个变量来记录栈顶位置;对于链式栈,需要定义节点结构,包含数据域和指针域,同时初始化栈顶指针。 示例(顺序栈): 以下是一个简单的顺序栈初始化示例,假设用C语言实现,栈中存储
158 77
|
2月前
|
【C++数据结构——栈与队列】环形队列的基本运算(头歌实践教学平台习题)【合集】
【数据结构——栈与队列】环形队列的基本运算(头歌实践教学平台习题)【合集】初始化队列、销毁队列、判断队列是否为空、进队列、出队列等。本关任务:编写一个程序实现环形队列的基本运算。(6)出队列序列:yzopq2*(5)依次进队列元素:opq2*(6)出队列序列:bcdef。(2)依次进队列元素:abc。(5)依次进队列元素:def。(2)依次进队列元素:xyz。开始你的任务吧,祝你成功!(4)出队一个元素a。(4)出队一个元素x。
52 13
【C++数据结构——栈与队列】环形队列的基本运算(头歌实践教学平台习题)【合集】
|
2月前
|
【C++数据结构——树】二叉树的基本运算(头歌实践教学平台习题)【合集】
本关任务:编写一个程序实现二叉树的基本运算。​ 相关知识 创建二叉树 销毁二叉树 查找结点 求二叉树的高度 输出二叉树 //二叉树节点结构体定义 structTreeNode{ intval; TreeNode*left; TreeNode*right; TreeNode(intx):val(x),left(NULL),right(NULL){} }; 创建二叉树 //创建二叉树函数(简单示例,手动构建) TreeNode*create
60 12
|
2月前
|
【C++数据结构——栈与队列】链栈的基本运算(头歌实践教学平台习题)【合集】
本关任务:编写一个程序实现链栈的基本运算。开始你的任务吧,祝你成功!​ 相关知识 初始化栈 销毁栈 判断栈是否为空 进栈 出栈 取栈顶元素 初始化栈 概念:初始化栈是为栈的使用做准备,包括分配内存空间(如果是动态分配)和设置栈的初始状态。栈有顺序栈和链式栈两种常见形式。对于顺序栈,通常需要定义一个数组来存储栈元素,并设置一个变量来记录栈顶位置;对于链式栈,需要定义节点结构,包含数据域和指针域,同时初始化栈顶指针。 示例(顺序栈): 以下是一个简单的顺序栈初始化示例,假设用C语言实现,栈中存储整数,最大
51 9
【C++数据结构——线性表】求集合的并、交和差运算(头歌实践教学平台习题)【合集】
本任务要求编写程序求两个集合的并集、交集和差集。主要内容包括: 1. **单链表表示集合**:使用单链表存储集合元素,确保元素唯一且无序。 2. **求并集**:遍历两个集合,将所有不同元素加入新链表。 3. **求交集**:遍历集合A,检查元素是否在集合B中存在,若存在则加入结果链表。 4. **求差集**:遍历集合A,检查元素是否不在集合B中,若满足条件则加入结果链表。 通过C++代码实现上述操作,并提供测试用例验证结果。测试输入为两个集合的元素,输出为有序集合A、B,以及它们的并集、交集和差集。 示例测试输入: ``` a c e f a b d e h i ``` 预期输出:
57 7
【C++数据结构——线性表】单链表的基本运算(头歌实践教学平台习题)【合集】
本内容介绍了单链表的基本运算任务,涵盖线性表的基本概念、初始化、销毁、判定是否为空表、求长度、输出、求元素值、按元素值查找、插入和删除数据元素等操作。通过C++代码示例详细解释了顺序表和链表的实现方法,并提供了测试说明、通 - **任务描述**:实现单链表的基本运算。 - **相关知识**:包括线性表的概念、初始化、销毁、判断空表、求长度、输出、求元素值、查找、插入和删除等操作。 - **测试说明**:平台会对你编写的代码进行测试,提供测试输入和预期输出。 - **通关代码**:给出了完整的C++代码实现。 - **测试结果**:展示了测试通过后的预期输出结果。 开始你的任务吧,祝你成功!
67 5
【C++数据结构——线性表】顺序表的基本运算(头歌实践教学平台习题)【合集】
本文档介绍了线性表的基本运算任务,涵盖顺序表和链表的初始化、销毁、判定是否为空、求长度、输出、查找元素、插入和删除元素等内容。通过C++代码示例详细展示了每一步骤的具体实现方法,并提供了测试说明和通关代码。 主要内容包括: - **任务描述**:实现顺序表的基本运算。 - **相关知识**:介绍线性表的基本概念及操作,如初始化、销毁、判定是否为空表等。 - **具体操作**:详述顺序表和链表的初始化、求长度、输出、查找、插入和删除元素的方法,并附有代码示例。 - **测试说明**:提供测试输入和预期输出,确保代码正确性。 - **通关代码**:给出完整的C++代码实现,帮助完成任务。 文档
56 5
|
10月前
|
C++
C++程序中的关系运算
C++程序中的关系运算
81 1
|
10月前
|
C++
C++程序中的逻辑运算
C++程序中的逻辑运算
120 1
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等