最新要闻
- 【全球新要闻】那舅特大桥建成 又一时速350高铁开铺 南宁至玉林仅50分钟
- 3899元起 惠普战66六代锐龙版上架:锐龙7000系列加持
- 世界热议:3月17日开启Beta测试!《暗黑破坏神4》新预告片透露更多游戏内容
- 焦点短讯!拳头《无畏契约》3月14日起不再支持Win7/8/8.1系统:为了打击外挂!
- 全球消息!苹果何时大降价?iPhone 14 Plus成系列销量最差:用户宁愿买安卓
- 焦点信息:寓言诚不欺我!网友拍下现实版“乌鸦喝水”
- 焦点报道:儿子篮球班倒闭家长花1000万买下 网友:这就是钞能力
- 全球热议:999元卷王小金刚!优派推出VX2758显示器:27英寸2K/170Hz
- 15万就能买特斯拉?特斯拉宣布重大目标:成本降低50%
- 哪吒汽车2月份交付10073台 同比大涨41.5%
- 未成年人沉迷短视频得治 TikTok默认限制每天可刷一小时
- “自己造自己” 特斯拉人形机器人亮相!马斯克承认罕见事实
- 【世界速看料】腾讯新游《黎明觉醒:生机》开放60帧:骁龙888、iPhone 13以上都能开
- 每日视点!印度男子展示绝技“乌鸦召唤术” 网友:在古代至少巫师级别
- 全省严查!正在进行!
- 每日看点!马斯克大力推荐!特斯拉Cybertruck实车亮相:超级未来感
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
What is Point ?
学习心态
指针其实跟一些运算符的表达式类似(例如i++,i--),它通过符号隐藏了内部的计算过程,只要学习者逐步的分解开,就很容易理解了。学习指针的时候,尽量想象底层硬件的工作方式,也能有助理解。
为什么会觉得指针难?因为指针在现在的高级语言上基本不使用了,不使用的东西就会觉得很遥远、很神秘且难。但是只要你经常使用C语言编程,你就不会觉得难。
目标
- 理解指针的相关概念
- 清楚理解值传递和引用传递的区别
- 什么场景下需要用到指针?
- 引用传递
- 早期的计算机硬件,为什么需要指针这种语法?
- 理解指针变量、指针函数、指针参数
指针相关的概念
指针类型的声明
char *a;char b = "B";a = &b;// print aB
间接访问操作符
通过一个指针访问它所指向的地址的过程称为间接访问(indirection),或解引用指针(dereferencing the pointer)。
(相关资料图)
用于执行间接访问的操作符就是单目操作符* ,单目操作符* 也有叫 间接运算符* 。
间接引用过程图:图1
图2
指针类型的长度
口 = 1bit ;
指针类型的长度 = 4字节,【口口口口 口口口口】【口口口口 口口口口】【口口口口 口口口口】【口口口口 口口口口】
了解即可 。
Why do I need to transfer the length?
因为在C语言中,数组作为参数的时候,就是一个指针。因此,在函数内,是不能通过sizeof( )之类的函数得到这个指针所指字符串的长度的,得到的只是指针变量的长度。必须也得将长度传输过去。
二维指针
以此类推,还有三维、四维指针;
就是指向指针的指针。
问题:二维指针在哪里能用到?TODO
const修饰的指针
直接看: https://blog.51cto.com/waleon/5670923 (看 1. const属性 章节)总结就是, 使用const修饰指针变量,这个指针地址不能改变了,但是,指针指向的内存地址,这个地址存储的数据是可以改变的。
指针运算
先思考,指针运算都用在哪里?
- 指针++,这种用在链式数组,可以向后读取数据。
example :有一段字符串 ” ajskldjfklajdfl ” ,自定义一个函数统计出其中j字符在该字符串中所出现的次数。(使用指针的方式实现)
int Count(chat* p){ int count = 0; for(int i=0; *(p+i)!="\0"; i++){ if (*(p+i) == "j"){ count++; }}return count;}void main(){char str[] = "ajskldjfklajdfl"printf("有几个j : %d", Count(str));}
为什么需要指针?
早期的电子设备是不需要指针的,当时的设备的内存极小,哪怕是到了现在,一枚ESP32-C3单片机的内存也才内置不过400 KB SRAM。当时的程序员们可以使用汇编直接控制寄存器,可是后来内存越来越大,直接控制寄存器就变得越来越麻烦,于是封装了“指针”这个抽象的概念用以进行间接寻址。
指针让程序员得以从硬件中解放出来,却没有剥夺程序员们灵活自由控制内存的权力。自由控制内存权利这个东西,看给谁用,给优秀的人,就是锋利的工具,能锦上添花,给愚蠢的人,就会干出蠢事且危险失控的事。比如:
- 用指针在堆内申请内存却忘了释放,造成内存泄漏;
- 访问野指针造成预料之外的行为;访问空指针导致程序报错;等等
指针能提低内存消耗,高效率传输的案例:假设你从内存中一次性读取了一个1GB的文件,哪么存放这些数据的变量也会消耗1GB的内存。姑且不论申请堆区内存和读取文件的部分,假如你需要写一个函数处理这些文件,如果不用指针的话,调用函数时会在内存中再拷贝一份数据成为函数内的临时变量,而这份拷贝同样会消耗1GB内存。如此庞大的内存消耗,作为存放在栈区的临时变量无疑会塞满栈区,并且因为塞不下而导致程序出错;哪怕没有出错,这么庞大的资源消耗也表明这是一个毫无优化的程序,用户体验极差。
虽然实际工程中会通过分块读写文件以降低资源消耗,但不可否认,没了指针哪怕分块读写都会消耗双倍内存。使用指针作为函数参数,可以让函数直接操作指针地址存放的数据,这种参数传递方式会在第三节进行介绍,名为指针传递
。
函数指针
函数指针也可以称为回调函数、指针函数...,那么是什么函数指针?
reference:什么是函数指针https://333rd.net/posts/read/什么是函数指针/
Reference
【C语言指针】三分钟理解C指针【动画展示】https://www.bilibili.com/video/BV1YB4y1D7cS/?spm_id_from=333.337.search-card.all.click&vd_source=8b3d9b9c8dc3d45e894bef954677559d
【指针的秘密】这可能是最好懂的C语言指针讲解https://www.bilibili.com/video/BV1V44y1Y7JS/?spm_id_from=333.337.search-card.all.click&vd_source=8b3d9b9c8dc3d45e894bef954677559d
指针的前世今生https://333rd.net/posts/read/指针的前世今生/#12-内存的本质
C 指针 | 从底层原理到花式技巧(图文详解)https://blog.51cto.com/waleon/5670923
全球新消息丨解释器模式
每日时讯!promethues【centos7】时间同步
What is Point ?
【全球新要闻】那舅特大桥建成 又一时速350高铁开铺 南宁至玉林仅50分钟
3899元起 惠普战66六代锐龙版上架:锐龙7000系列加持
世界热议:3月17日开启Beta测试!《暗黑破坏神4》新预告片透露更多游戏内容
焦点短讯!拳头《无畏契约》3月14日起不再支持Win7/8/8.1系统:为了打击外挂!
论文阅读笔记(四):AS-MLP AN AXIAL SHIFTED MLP ARCHITECTUREFOR VISION
(数据库系统概论|王珊)第七章数据库设计-第五、六节:物理结构设计和数据库的实施和维护
全球消息!苹果何时大降价?iPhone 14 Plus成系列销量最差:用户宁愿买安卓
焦点信息:寓言诚不欺我!网友拍下现实版“乌鸦喝水”
焦点报道:儿子篮球班倒闭家长花1000万买下 网友:这就是钞能力
全球热议:999元卷王小金刚!优派推出VX2758显示器:27英寸2K/170Hz
15万就能买特斯拉?特斯拉宣布重大目标:成本降低50%
哪吒汽车2月份交付10073台 同比大涨41.5%
未成年人沉迷短视频得治 TikTok默认限制每天可刷一小时
“自己造自己” 特斯拉人形机器人亮相!马斯克承认罕见事实
【世界速看料】腾讯新游《黎明觉醒:生机》开放60帧:骁龙888、iPhone 13以上都能开
每日视点!印度男子展示绝技“乌鸦召唤术” 网友:在古代至少巫师级别
读Java性能权威指南(第2版)笔记06_数据库性能JPA&SpringData
全省严查!正在进行!
每日看点!马斯克大力推荐!特斯拉Cybertruck实车亮相:超级未来感
天天消息!马斯克宏图计划公布:储能240TWh 制造投资10万亿美元
日本死亡人数是新生儿数量两倍有多可怕:850万“幽灵屋”遍布全国
信息:特斯拉下一代电机将不需要任何稀土成分!马斯克挑战全球车企
环球新动态:Spark系列 - (5) Spark Shuffle
热消息:Fireasy3 揭秘 -- 万物伊始(依赖注入与服务发现)
全球信息:英语四级阅读技巧
一加Ace 2V 12+256G起步行业罕见:友商还在搞8+128卡价位的版本
实时:Redmi Note 12 Pro极速版12+256G到手1999元:开机就是MIUI 14
造车新势力2月交付量出炉:理想、蔚来、哪吒破万 零跑压力大
【全球速看料】厦门征求意见!过马路玩手机或将罚款50元 你支持吗?
世界快看:东风概念飞行汽车外观曝光!“鸥翼门”相当炫酷
【当前热闻】2018巴彦淖尔国际马拉松
环球焦点!胡明轩:平时杜导叫我和徐杰一起训练 要求我们承担起更多责任
世界快讯:makefile
基于alpine基础镜像构建jdk镜像以及tomcat镜像及业务构建
Linux极简入门系列(六):其它补充
CSS全局关键字
环球聚焦:委员建议隔周三休成热搜第一 网友吵翻 专家:很难行得通
今日热闻!Model 2明天发?这款15万的特斯拉便宜车:马斯克已经说了17年
环球新消息丨LOJ 3276 JOISC 2020 Day2 遗迹 题解 (计数DP)
环球快资讯:MySQL学习笔记-多表查询(上)
当前视讯!量化交易基础 - 011 - 样本外检验
风语筑(603466):上海风语筑文化科技股份有限公司关于股东权益变动比例超过1%的提示性公告
天天观察:希望工程发文感谢《原神》玩家 5天9万多人捐赠240万元
世界聚焦:“刺客”又来了!网友称买到1600元一斤话梅:每颗至少20元
“窄边教科书”上新!戴尔XPS15 9530发布:13代酷睿+RTX 40配8TB SSD
环球微动态丨孟菲斯动物园发大熊猫丫丫新动态 网友:尽快回国!
曝苹果屏下Face ID技术有缺憾:2026年才会趋于完美
C++ STL学习笔记-C++ STL基础
焦点讯息:4-Ribbon负载均衡
信息:可取代eSIM:更完美的iSIM卡来了
二月浏览器大战结果出炉:微软Edge用户数不升反降
头条:《王者荣耀》干将莫邪画中仙皮肤公布:中国古风莫邪绝美
环球微头条丨k8s之list-watch机制、节点调度以及亲和性
全球速讯:记录--虚拟滚动探索与封装
天天百事通!(数据库系统概论|王珊)第七章数据库设计-第四节:逻辑结构设计
焦点热议:Cesium 几何体贴模型 sampleHeight(二十二)
环球滚动:苏富比春拍上海预展即将开展,近150件藏品由谁保驾护航?
全球即时看!蔚来2022年财报公布:全年营收492亿元 同比大涨36%
天天资讯:建议元宵节放假1天:提升人民幸福指数
环球通讯!超19万辆!比亚迪2月新能源销量公布:暴打新势力全家
全球微头条丨2023五一档电影增至五部!哪部对你吸引力更大?
热点!Cesium Transform(二十)
世界速讯:第124篇: 期约Promise
怎么登录新浪微博网页版_如何登陆新浪微博
环球快报:刹车变硬踩不动遭车主集体投诉 铃木召回超7.8万辆汽车
【独家】好利来创始人之子回应开劳斯莱斯摆摊:没想博眼球
天天快播:AI小姐姐比真人还好看? N卡又抓到风口:8GB显存稳定绘图 首选RTX30/40系
春丽今天55岁了!网友:Coser我永远只服成龙大哥
速讯:URLDNS链分析
认识数据标签
每日速递:Python识别图形验证码实战项目
全球播报:记一次CPU占用持续上升问题排查(Nacos动态路由引起)
iOS应用发布ITMS-90704错误解决
荣耀“青海湖技术”揭晓:荣耀Magic5系列全球首发硅碳负极技术
国内专属!新款国产特斯拉Model Y升级悬架:终于不颠了
天天热门:功耗开放470W!影驰名人堂RTX 4080真是生猛
每日热讯!又一游戏成功“入奥”:育碧《舞力全开》入选2023年奥林匹克电子竞技项目
天天头条:女子幼儿园收童子尿煮鸡蛋 吃着香是浙江当地非遗:网友直呼酸爽
今日热闻!中国通才教育:已针对首次公开发售相关指控开展独立调查,将继续停牌
全球百事通!为什么95%的Java程序员人,都是用不好Synchronized?
每日时讯!Python教程:类的派生
你有“ChatGPT综合征”吗:想搞钱,或是失业焦虑?
Python教程:类的继承,什么是继承
加点广告怎么了 爱奇艺新专利可在弹幕中显示广告
环球动态:狂飙8000MHz!朗科Z RGB DDR5-8000 16GB电镀银内存图赏
每日短讯:1:1复刻仿生人手 现实版《西部世界》公司众筹开启
全球头条:5G是高铁 6G就是飞机!工信部:全面推进6G技术研发
焦点热文:公司丢货要求全体员工均摊1万赔款:新员工拒赔反被怀疑偷东西
天天观察:如何在Ubuntu上安装Nextcloud(适用于树莓派上的Ubuntu)
每日播报!Pod 进阶
每日快看:Zabbix“专家坐诊”第183期问答汇总
Spring中Bean的加载方式~
什么是Markdown
当前报道:纬德信息(688171)3月1日主力资金净买入105.72万元
旅俄大熊猫画风突变体重狂飙40公斤:摸爬滚打样样精通
百事通!特斯拉Model 2被曝成本大降37% 比丰田卡罗拉还低
世界短讯!打赢了!科比坠机照片泄露案其遗孀获赔2885万美元