- 博客(2)
- 收藏
- 关注
原创 C语言c++初学者如何理解栈
2. 创建func的栈帧:CPU将当前栈帧指针EBP压入栈保存,再将栈指针ESP赋值给EBP(EBP指向func栈帧起始),最后调整ESP为栈帧分配内存(存储局部变量等);4. 销毁func的栈帧:函数执行完,将EBP恢复为原来的值(回到main的栈帧),ESP指向返回地址,CPU跳转到返回地址继续执行main,最后释放func栈帧的内存。2. 后进先出(LIFO):调用栈遵循“最后调用的函数,最先销毁栈帧”(如A→B→C,执行完先销毁C的栈帧,再B,最后A);、普通数组 int arr[5];
2026-02-04 16:22:00
292
原创 结构体与二叉树须知
比如用数组存储二叉树(按层序遍历的顺序存,根结点在索引0,左子结点在2i+1,右子结点在2i+2),这种方式不需要指针,但本质是“用数组下标代替指针的地址功能”,且只适合“完全二叉树”,灵活性远不如链式存储;- 指针的本质是“内存地址”,一个结点的 left 指针存储“左子结点的内存地址”,就能通过这个地址找到左子结点,实现“指向”的逻辑;简单来说:指针是C语言里让“结点能找到自己的子结点”的唯一方式——没有指针,二叉树的结点就只能是孤立的,无法连接成“树”的结构。// 不写*,直接存结构体。
2026-01-22 22:55:12
387
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅