第10天:指针 — 操作指南 ★★★ 全12天最重要的一天
小白记录日常学习一、今日任务总览| 步骤 | 内容 | 时间 ||------|------|------|| ① | 阅读教材第10章 §10.4-10.7 | 80分钟 || ② | 用纸笔画内存图来理解指针 | 30分钟 || ③ | 手打并运行3个练习 | 60分钟 || ④ | 反复体会练习2swap的成功 | 30分钟 |二、今日核心知识点2.1 指针是什么 —— 用生活类比想象一座公寓楼普通变量 a 42 指针变量 p a房间号101号 房间号305号房间里放着42 房间里放着一张纸条写101号指向101号房间你去101号 → 看到42 你去305号 → 看到纸条101号按纸条去找101号 → 看到42cint a 42; // a 是普通变量存的是 42int *p a; // p 是指针变量存的是 a 的地址门牌号a → 42 // 直接取值*p → 42 // 间接取值先去p拿地址再去那个地址拿值a → a 的地址 // 取地址2.2 和 * —— 两个核心运算符| 符号 | 名字 | 作用 | 例子 ||------|------|------|------|| | 取地址 | 问你住哪 | p a; → p 知道 a 住哪 || * | 解引用 | 去这个地址看看 | *p 100; → 去 p 存的地址把值改成 100 |cint a 10;int *p a; // p 存了 a 的地址*p 20; // 通过地址修改 a → a 变成 20printf(%d, a); // 输出 20**两个用 * 的场景不要搞混**cint *p a; // 这里的 * 是声明p 是指针类型*p 20; // 这里的 * 是解引用去 p 存的地址那里2.3 指针实现真正的 swap ★ 今天的顿悟时刻第8天的失败cvoid swap(int x, int y) // x 和 y 是副本{int temp x; // 交换副本x y;y temp;} // 函数结束副本销毁原件没动今天的成功cvoid swap(int *x, int *y) // x 和 y 存的是地址门牌号{int temp *x; // 去 x 指向的房间取出值*x *y; // 去 y 的房间把值搬到 x 的房间*y temp;}// 调用swap(a, b); ← 传的是地址一句话总结 值传递 把文件复印一份给你你在复印件上改 指针 把文件柜的钥匙给你你开柜子改原件2.4 指针与数组cint arr[5] {10, 20, 30, 40, 50};// 下面三种方式完全等价arr[2] // 下标访问 → 30*(arr 2) // 指针偏移 → 30*(arr[0] 2) // 从首地址偏移 → 30// 数组名 arr 就是 arr[0]是首元素的地址2.5 指针算术cint *p arr;p 1 → 下一个 int 的位置实际地址 4 字节因为 int 占 4 字节p → p 指向下一个元素p n → p 指向后面第 n 个元素三、阅读任务80分钟《C Primer Plus 第6版》第10章| 章节 | 内容 | 重点 ||------|------|------|| §10.4 | 指针简介 | ★★★ || §10.5 | 指针运算符 和 * | ★★★ || §10.6 | 指针与数组 | ★★★ || §10.7 | 指针运算 | ★★★ |阅读方法放慢速度。每看到一个指针例子先在纸上画出内存图再往下看。指针不是看懂的是画懂的。四、动手练习60分钟练习1指针基本操作bashgcc ex1_pointer_basics.c -o ex1_pointer_basics.exe./ex1_pointer_basics.exe必做在纸上画出变量 a 和指针 p 的内存关系图。标注地址、值、箭头指向关系。这张图要自己画不要只看代码。练习2真正的 swap ★★★bashgcc ex2_swap_real.c -o ex2_swap_real.exe./ex2_swap_real.exe这是今天最重要的练习。运行完后1. 找出第8天 day08/ex3_swap_fail.c再跑一遍2. 对比两个程序的输出3. 在纸上画出两个 swap 版本的内存图感受传值和传地址的本质区别如果只做一个练习就做这个。搞懂了今天的 swap指针就入门了。练习3指针数组遍历bashgcc ex3_pointer_array.c -o ex3_pointer_array.exe./ex3_pointer_array.exe比较三种遍历方式注意观察 p1 的地址比 p 多了多少应该刚好是一个 int 的字节数。五、自由实验30分钟实验1用指针实现 strlen不调用 string.h用指针实现计算字符串长度cint my_strlen(const char *str){const char *p str;while (*p ! \0)p;return p - str; // 指针相减 元素个数}实验2用指针实现选择排序把第9天的选择排序改成指针版本用指针而非下标遍历。六、今日自检- [ ] 能说清楚 int *p a; 中 int*、p、a 分别是什么- [ ] 能说清楚 *p 是什么解引用顺着地址访问值- [ ] 能解释第8天的 swap 为什么失败今天的 swap 为什么成功- [ ] 知道 arr[i] 和 *(arri) 是等价的- [ ] 知道 p1 跳过几个地址取决于指针的类型- [ ] 三个练习全部运行成功七、明天预告第11天字符串 — 本质上就是字符指针学完指针再看字符串会豁然开朗。

相关新闻

构建Nordic物联网生态:nRF Connect桌面版开发框架深度解析

构建Nordic物联网生态:nRF Connect桌面版开发框架深度解析

构建Nordic物联网生态:nRF Connect桌面版开发框架深度解析 【免费下载链接】pc-nrfconnect-launcher nRF Connect for Desktop application and framework 项目地址: https://gitcode.com/gh_mirrors/pc/pc-nrfconnect-launcher nRF Connect for Desktop是No…

2026/9/29 12:08:38 阅读更多 →
Adobe Reader高危漏洞深度解析:从内存错误到任意代码执行的攻击链与防护

Adobe Reader高危漏洞深度解析:从内存错误到任意代码执行的攻击链与防护

1. 项目概述:当PDF阅读器成为攻击入口最近,安全圈里又炸开锅了,这次的主角是几乎每个人电脑里都有的软件——Adobe Reader。Adobe官方正式确认,其PDF阅读器(Adobe Acrobat Reader)中存在一个严重的安全漏洞…

2026/10/9 14:46:10 阅读更多 →
5分钟快速上手:WPS Office与Zotero无缝整合终极指南

5分钟快速上手:WPS Office与Zotero无缝整合终极指南

5分钟快速上手:WPS Office与Zotero无缝整合终极指南 【免费下载链接】WPS-Zotero An add-on for WPS Writer to integrate with Zotero. 项目地址: https://gitcode.com/gh_mirrors/wp/WPS-Zotero 还在为学术论文中的文献引用而烦恼吗?WPS-Zotero…

2026/10/7 14:41:24 阅读更多 →

最新新闻

Kiln AI Server Python 客户端库使用指南:同步/异步 API 调用与高级定制实战

Kiln AI Server Python 客户端库使用指南:同步/异步 API 调用与高级定制实战

人工智能AI 应用AI 评测RAG微调提示工程开发工具桌面应用 【免费下载链接】Kiln Build, Evaluate, and Optimize AI Systems. Includes evals, RAG, agents, fine-tuning, synthetic data generation, dataset management, MCP, and more. 项目地址: https://gitcod…

2026/10/14 18:22:46 阅读更多 →
鸿蒙应用内添加服务卡片到桌面:权限配置至formId管理的完整实践

鸿蒙应用内添加服务卡片到桌面:权限配置至formId管理的完整实践

前两天有个开发者在我写的卡片文章下面留言:应用里能不能直接触发“添加卡片到桌面”?用户根本不知道要长按桌面再选卡片,好多功能做出来都没人发现。这个问题其实问的人挺多的。鸿蒙的服务卡片虽然好用,但系统默认的添加路径藏在…

2026/10/14 18:22:46 阅读更多 →
自制轻量级单片机UI框架:低资源平台的架构设计与内存优化

自制轻量级单片机UI框架:低资源平台的架构设计与内存优化

我最早动起"自制轻量级单片机UI框架"这个念头,是在一个被现成UI库逼疯的下午。手里这块板子的MCU只给了64KB Flash和16KB RAM,产品需求却要一个带按钮、进度条和多级菜单的界面。我试着把一个开源UI库编进去,编译完一看&#xff0c…

2026/10/14 18:22:46 阅读更多 →
51单片机红外遥控NEC解码与波形显示方案

51单片机红外遥控NEC解码与波形显示方案

简介:这是一套基于51单片机的红外遥控解码与波形显示项目资料,面向电子爱好者、嵌入式初学者以及单片机课程设计/毕业设计人群,解决从红外信号接收、脉冲解码到LCD波形显示的全流程实现问题。压缩包共38个文件、9.68MB,涵盖C语言源…

2026/10/14 18:22:46 阅读更多 →
uIP TCP/IP协议栈实战:从Client到Server的嵌入式移植全解析

uIP TCP/IP协议栈实战:从Client到Server的嵌入式移植全解析

简介:基于uIP协议栈的TCP客户端与服务器程序,源自ALIENTEK战舰STM32开发板第52章,面向使用STM32与ENC28J60进行嵌入式网络通信的开发者。资源包含完整工程与配套文档,共223个文件,以C语言源文件(76个.c&…

2026/10/14 18:22:46 阅读更多 →
JavaScript sort排序原理与常见陷阱解析

JavaScript sort排序原理与常见陷阱解析

先说个我自己的真实经历。有次帮同事排查一个列表排序问题,数据是几组数字,他写了 arr.sort() ,结果排出来是 [1, 10, 2, 22, 3] 这种完全看不懂的顺序。他盯着屏幕看了半天,第一反应是"sort排序坏了"。其实不是坏了…

2026/10/14 18:21:46 阅读更多 →

日新闻

AnyPS5通用适配层设计:兼容性与性能的工程取舍

AnyPS5通用适配层设计:兼容性与性能的工程取舍

1. 从"AnyPS5"这个名字说起:它到底想解决什么问题第一次看到"AnyPS5"这个标题,我脑子里冒出来的第一个念头是:这大概率是一个围绕"跨平台运行"或者"通用适配"做文章的项目。名字里的"Any"…

2026/10/14 0:00:41 阅读更多 →
Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

1. 项目概述:Flutter跨平台二手交易应用开发作为一名长期从事移动应用开发的工程师,我最近完成了一个基于Flutter框架的二手物品交易平台项目。这个项目最吸引我的地方在于它完美结合了Flutter的跨平台优势与HarmonyOS的生态特性,实现了"…

2026/10/14 0:00:41 阅读更多 →
DFS算法解决飞机降落调度问题实战

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:41 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/14 16:30:29 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 22:01:27 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 7:53:34 阅读更多 →