都说c语言指针功能强大,我怎么体会不到呢

假设p指向a,那么a=b和*p=b是一样的,所以可以不用指针。数组名可以代替指针。结构体数组也可以用数组名代替指针。链表是把一条蛇切成一段一段,然后重新拼成一条蛇。实在搞... 假设p指向a,那么a=b和*p=b是一样的,所以可以不用指针。数组名可以代替指针。结构体数组也可以用数组名代替指针。链表是把一条蛇切成一段一段,然后重新拼成一条蛇。实在搞不懂指针有什么强大的,求救 展开
 我来答
刀劈华山
2018-06-04 · TA获得超过2272个赞
知道小有建树答主
回答量:1338
采纳率:72%
帮助的人:373万
展开全部
首先要明确C语言的用处
C语言现在在大多数IT行业里认为是非主流的,因为大多数IT行业是互联网公司,多数用java等面向对象的语言,他们的重点不在速度不在效率。
但是实际上C语言只是在大家不熟悉的地方使用,比如windows和linux的内核,比如通信行业的流传输。这些基本上都是C语言在搞,因为java之中面向对象的语言无法满足这些地方的效率,而只有C这类高效率的面向过程的语言才能满足这类需求。
什么是面向过程,通俗点讲就是细节,一个人是由胳膊腿躯干头组成的(java),血管和肌肉就是细节(c)。四肢的移动速度可以按秒计算,血液的流动怎么按秒计算呢?
那为什么C语言的效率高呢,最直接的表现就是指针。
你举得例子a=b和*p=b是一样的,这个没问题,java一般都是a=b这么用,换算成指针就是*p=b。但是C语言大部分的赋值都不会考虑*p=b,为什么,因为效率低,C语言一般是p=&b这么来写,我不需要赋值,我只是搬运工,如果b这个结构体有1M这么大,那a=b相当于拷贝了1M的内存而p=&b只不过一个四字节的内存操作而已,前者也许要耗费1ms,后者如果按字节数来算的话 你可以想象效率提高了多少数量级。
更别说什么回调函数啊,结构体里存指针比存整个结构体省内存啊之类的了。
追问
呵呵,很满意,受益匪浅
杯具——悲剧69779c
2018-06-04 · TA获得超过1352个赞
知道大有可为答主
回答量:3003
采纳率:64%
帮助的人:506万
展开全部
指针强大?你听谁说的?由于会造成内存溢出,现在没有任何一个实质性的程序用C指针,现在大学学指针无非就是开发一下智力。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式