c++ - 指针中的不同赋值
问题描述
正如您在代码中看到的,我为指针分配了不同的值:
- fin->siguiente = nuevo_nodo;
- 鳍=新节点;
这有什么区别吗?
void append(Nodo *&frente, Nodo *&fin, int valor){
Nodo *nuevo_nodo = new Nodo();
nuevo_nodo->valor = valor;
nuevo_nodo->siguiente = nullptr;
if(empty(frente)){
frente = nuevo_nodo;
}
else{
fin->siguiente = nuevo_nodo;
}
fin = nuevo_nodo;
}
解决方案
由于您已更改为问题,因此我也会更改答案。
当你的 else 部分运行时,你分配 'fin->siguiente = nuevo_nodo'。假设“fin”最初位于地址 1000,“nuevo_nodo”位于地址 2000。fin 的siguiente指针指向地址 2000。
在下一行中分配'fin = nuevo_nodo',所以fin 现在指向2000 地址并且没有分配'siguiente' 指针(第4 行)。
推荐阅读
- java - 如何在spring boot中找到高性能的最近位置(地理地图)
- algorithm - 感知器算法是否适用于二进制输入?
- c - 如何在c中断言两种类型相等?
- python - 在 Pygame 中使用 screen.blit 时可以使用 .format 功能吗?
- c# - 统一多显示器。如何使 display[0] 窗口化而其他人显示全屏?
- sql - 如果一列上的多个记录填充了不同的值,则使用来自不同列的值
- swift - 从元类型数组创建类实例
- c# - 在实体框架中按子项排序不返回排序列表
- sql - 在 Oracle Sql 数据库上触发
- javascript - 我想将 Firebase 数据库中的数据显示到 HTML 表中