第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/8/2 6:15:50 阅读更多 →
Adobe Reader高危漏洞深度解析:从内存错误到任意代码执行的攻击链与防护

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

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

2026/8/2 6:15:50 阅读更多 →
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/8/2 6:15:50 阅读更多 →

最新新闻

基于Arch Linux的嵌入式GPRS开发:从AT指令到状态机实战

基于Arch Linux的嵌入式GPRS开发:从AT指令到状态机实战

1. 项目缘起:从“Arch GPRS V2”这个标题说起最近在整理一些老项目的资料,翻到了一个名为“Arch GPRS V2”的文件夹。这个名字乍一看有点让人摸不着头脑,它不像一个标准的开源项目名,更像是一个内部代号。Arch?是那个以…

2026/8/2 16:17:29 阅读更多 →
SpringBoot2+Vue3+MySQL 校园活动报名管理系统源码 前后端分离实战

SpringBoot2+Vue3+MySQL 校园活动报名管理系统源码 前后端分离实战

一、项目简介 本项目是一个基于 Spring Boot 2 Vue 3 前后端分离架构的校园活动信息发布与报名管理系统。系统面向高校学生会、社团联合会等组织,提供活动从发布、审核、报名、签到到评价反馈的完整闭环管理。系统包含三种角色:普通学生用户&#xff08…

2026/8/2 16:17:29 阅读更多 →
具身智能空间推理新范式:从行为评估到心智理论诊断

具身智能空间推理新范式:从行为评估到心智理论诊断

1. 项目概述:当顶尖学者联手,重新定义具身智能的“空间”考卷 最近在ICLR 2024上读到一篇论文,标题是《Theory of Space: A New Benchmark for Evaluating Spatial Reasoning in Embodied AI》,作者阵容堪称豪华,集结了…

2026/8/2 16:17:29 阅读更多 →
DPS310高精度气压传感器:从MEMS原理到嵌入式应用实战

DPS310高精度气压传感器:从MEMS原理到嵌入式应用实战

1. 项目概述:从“感知”到“数据”的关键一步在嵌入式开发、物联网设备或是环境监测项目中,我们常常需要获取一个基础但至关重要的物理量——大气压强。它不仅仅是天气预报的数据来源,更是海拔高度计算、室内外导航辅助、甚至无人机定高飞行的…

2026/8/2 16:17:29 阅读更多 →
证券核心系统架构解析:从交易流程到技术实现

证券核心系统架构解析:从交易流程到技术实现

1. 项目概述:为什么我们要深入证券核心系统?如果你在金融科技圈待过一阵子,或者刚入行做券商、基金的后台开发,大概率会听到一个词——“核心系统”。这个词听起来就带着一股“重”和“难”的味道,仿佛一堵高墙&#x…

2026/8/2 16:17:29 阅读更多 →
单片机毕设项目:多路病患无线呼叫信号优先级排序硬件系统实现 基于 51/STM32 的病床呼叫发射与医护接收终端设计(020201)

单片机毕设项目:多路病患无线呼叫信号优先级排序硬件系统实现 基于 51/STM32 的病床呼叫发射与医护接收终端设计(020201)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机,Java、小程序技术领域和毕业项目实战 ✌️…

2026/8/2 16:16:28 阅读更多 →

日新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/2 0:00:38 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/2 0:00:38 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/2 0:00:38 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/2 0:00:38 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/2 0:00:38 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/2 0:00:38 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/2 6:34:16 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/2 2:47:48 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/2 0:23:22 阅读更多 →