news 2026/10/2 12:50:32

指针初步学习

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
指针初步学习

指针

    • 本质
    • 星号的用法
    • 传递时的用法

本质

  1. 就是个“门牌号”
  2. 把计算机内存想象成一个巨大的小区,里面有一排排一模一样的房子,你在代码里写个int a = 10;,就相当于在这个小区里租了个房子,往里面塞了个写着“10”的纸条。
    那指针是啥?指针就是这套房子的门牌号
inta=10;int*p=&a;

&a 就是去查一下 a 这个房子的门牌号是多少,然后把这个门牌号塞进 p 这个盒子里。p 里面装的压根不是 10,而是“XX路100号”这种地址

星号的用法

  1. 当你写 int *p 的时候:它就是个标签。相当于你跟编译器说,p 这个盒子比较特殊,它不装普通数字,它专门用来装门牌号
  2. 当你写 *p 的时候:它就是个钥匙。意思是“拿着这个门牌号找过去,开门,把里面的东西拿出来”。就这么简单。你以后看到 *p,脑子里就自动翻译成“开门拿东西”就行了。很多人刚学的时候想改个值,顺手写p = 20;,这就相当于把门牌号撕了换成20,原来的房子根本没动!要改里面的值,必须得*p = 20;,拿钥匙开门去改

传递时的用法

  1. 问题:想改原件,得给门牌号:你在函数里写个void change(int x),然后在里面把 x 改成100,结果出了函数一看,外面的变量还是原来的值
  2. 解决方案:C语言默认是“复印一份给你”。你拿着复印件怎么涂改,原件都不会变。你想改原件怎么办?你得把原件的门牌号传进去
voidchange(int*x){*x=100;// 拿着门牌号找到原件,开门,改掉!}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/2 12:49:44

Firefox 46.0渗透便携版:兼容老系统与经典插件的Web测试利器

简介:火狐46.0渗透便携版是面向渗透测试、护网行动与CTF竞赛人员的集成型火狐浏览器工具包,专为需要快速开展Web漏洞探测、流量审查与插件管理的安全从业者设计。压缩包内共575个文件,整体约69.68MB,除主程序核心组件外&#xff0…

作者头像 李华
网站建设 2026/10/2 12:47:31

Win11 下 Claude Code Desktop 接入第三方 API 全流程指南

1. 为什么要在 Win11 上折腾 Claude Code Desktop 接入第三方 APIClaude Code Desktop 刚出来那阵子,我身边不少做开发的朋友都在第一时间装了。官方订阅确实省心,但用了一段时间之后,问题就慢慢冒出来了:一是额度限制&#xff0c…

作者头像 李华