当前位置: 首页 > news >正文

C语言学习周记:第二周 指针与函数小结

C语言学习周记:第二周 指针与函数小结
这周终于碰上了C语言的核心——指针。从内存地址开始,一路干到指针、函数、内存管理和字符串处理。上周是“会写代码”,这周开始“看懂代码在跟内存干啥”。
重点知识点

  1. 指针就是存地址的变量
    每个字节都有编号,&拿地址,*通过地址取数据。指针大小看系统:32位4字节,64位8字节,跟指向啥类型没关系。最坑的是野指针:定义完不初始化直接解引用,必崩。记住:指针要么指向合法内存,要么给NULL。
  2. 数组名≈首元素地址
    a[i]其实就是*(a+i),下标是指针运算的语法糖。但sizeof(数组名)和&数组名两个特例要注意,这时候数组名代表整个数组。二维数组用指针遍历时,p+1跳一行还是一个元素取决于指针类型,不确定就加括号。
  3. 函数就是拆代码
    形参是占位符,实参是具体值,各占各的内存。C语言按值传递,想改外部变量就得传指针。递归就是函数调自己,必须有退出条件不然栈溢出。阶乘和斐波那契是经典练习。
  4. 内存分栈和堆
    局部变量在栈上,函数结束自动回收。全局和static在数据段,程序退出才释放。堆归你管,malloc申请free释放,必须配对。忘了free小程序没事,大项目慢慢炸。
  5. 字符串就是字符数组
    以\0结尾。strcpy/strncpy复制,strcat/strncat拼接,strcmp/strncmp比较,strstr找子串,strtok分割。带n的有边界控制更安全,不带的容易缓冲区溢出。sizeof算整个内存大小(含\0),strlen数字符个数(不含\0),别搞混。
    心得
    这周最大的变化:开始用“地址”和“内存布局”的角度看代码了。以前只关心“值是多少”,现在会想“这变量放哪、谁指着它、啥时候释放”。老师说指针是C语言的精髓,这周我真信了。
    递归像俄罗斯套娃,一层层进一层层出。但老师提醒别为了优雅使劲递归,层次太深栈撑不住,很多场景用循环就行。
    踩过的坑
    野指针:int *p; 不初始化直接 *p = 10;,秒崩。解决:定义时就初始化,int *p = NULL;。
    返回局部变量地址:函数里定义个局部数组,return它的地址,外面拿到的是废数据——栈已经被回收了。解决:用static或者malloc。
    strcpy缓冲区溢出:目标数组10字节,拷了个20字节的字符串进去,越界覆盖了隔壁内存,查了半天才解决问题。解决:用strncpy限制长度。
    总结
    指针、函数、内存管理是C语言的真·门槛。数组是指针的马甲,函数是模块化基础,内存管理决定程序稳不稳。这周信息量爆炸,但多画内存图、多调试,慢慢就通了。下周继续干指针进阶。
http://www.jsqmd.com/news/1358948/

相关文章:

  • Zotero插件市场:革命性的一站式插件管理解决方案
  • 高性能生物数据可视化:SciChart在移动端的应用实践
  • 三亚救护车出租预约方式 长途跨省病人转运收费标准详解 - 产品推荐官
  • 收藏 | RAG知识库构建实用指南:小白也能轻松掌握大模型核心技术
  • 从零实现机器学习经典算法:线性回归、K-Means与决策树
  • 开发者如何为OpenAI Astra大模型做好技术准备与工程实践
  • 表格合并神器:提升20倍效率的数据整合方案
  • 069、顶会注意力机制复现:MobiSAM轻量级注意力在YOLOv12中的部署友好设计,移动端涨点实测
  • 文档上传后别急着向量化!解析和切片做错,RAG 回答一定跑偏
  • MySQL数据误操作恢复:binlog实战指南
  • 改进灰狼算法在电力系统多目标优化调度中的应用
  • 2026年8月空调机组厂家推荐指南:远程射流空调机组,恒温恒湿空调机组,柜式空调机组,转轮热回收空调机组,组合式空调机组公司优选! - 品牌商讯
  • OpenAI Astra(GPT-6)多模态AI模型:核心能力、接入准备与测试指南
  • 062、顶会注意力机制复现:PKINet上下文先验注意力适配YOLOv12的R-ELAN模块,手把手代码与COCO mAP对比
  • AI Agent网页抓取实战:绕过CORS与动态内容困境
  • 化工仪表物联网系统(PAIMS)架构设计与预测性维护实践
  • 散点图实战指南:从基础到商业分析应用
  • Windows防休眠工具终极指南:告别自动锁屏的智能解决方案
  • 基于YOLOv8/YOLOv10/YOLOv11/YOLOv12与SpringBoot的扑克牌识别检测系统(千问+DeepSeek智能分析+web交互界面+前后端分离+YOLO数据)
  • AI 漫剧剧情容易烂尾?知漫剧分集剧本生成实战教程
  • 揭秘中国建设银行内部网站:揭秘其功能与价值,探索中国建设银行内部网站如何赋能员工高效办公
  • 2026合肥理工学校怎么报名?应往届初中毕业生均可报,附正规报名流程与联系方式 - 最新资讯
  • 数据库系统原理核心考点与SQL优化实战
  • 5分钟快速上手:Reloaded-II游戏Mod管理器完整指南
  • 突破性Emby高级功能解锁方案:零成本享受完整媒体服务器体验
  • OriginLab在XRD半峰宽计算中的高效应用
  • 电力施工单位(0.4KV、10KV、35KV)怎么选?一文读懂如何挑选真正有实力的服务商! - 甄选测评馆
  • Kali Linux命令行实战指南:从基础操作到渗透测试高效工作流
  • Mac效率提升:一键预览与快速打开Markdown文件的两种实用方案
  • # 投票小程序免费制作怎么选?4款热门工具横评实测 - 资讯报道