永发信息网

为什么指针是c语言的灵魂?

答案:6  悬赏:80  手机版
解决时间 2021-02-28 05:21
为什么指针是c语言的灵魂?
最佳答案
1.他可以直接访问硬件,这是灵活性和效率的体现,程序离硬件越近自然效率越高,当然运用不当也可导致效率低下

2.难掌握及太危险,如果对指针理解含混,访问过程不当易导致程序奔溃或隐藏潜在危险
全部回答
我觉得就是 它可以选取任意的地址,从而可以引用许多的数据。
我们知道执行指针是危险的,执行指针很容易就会现在指针越界问题,如果是赋值操作将会对系统造成很大的危险,相信每一个程序员都会用指针取数时取过不属于自已定义的内存单元,c#里都摈弃了指针……可想而知指针的意义是不大的,完成可以用数组来代替。在c中看来,指针是完全可以替代数组的,但数组有什么它自已的优点呢?1.当你想定义一组数据变量时,十个变量?或许你还可以每个变量给它取个名字,可如果是100个,1000个呢?1000个的指针变量,每个指针你就给它取名都取到头痛,别说编写程序了。或许你会反驳,用指针动态申请也可以,很明显如果你用指针来替代数组,这时指针就不能移动了,因为一移动,它就乱了,你就不知道当前指针是指向哪里下一个内存单元又是哪里了,如果不能移动,指针也就失去了它的意义了……还有如果申请的不是连续的内存空间,比哪1000个连续的1000个单元的内存空间块呢?你是不是还得定义1000个指针变量来动态申请内存,而用数组你就可以避免,你只要定义1000个数组指针,再用循环实现动态申请就可以。2.数组定义的是一组连续的内存空间,可以说每个单元都有自已的变量名(数组名+下标)……这样如果执行越界操作时,程序将会报错……3.还有就是用数组申请一组连续的内存空间明显要比用指针动态申请空间要简单得多……4.再者数组是用到很多的,如果你全部都用针指来代替,我们知道执行指针是危险的,多一个针指操作就多一分危险,你能保证,程序编写一次就能正常运行,你这么多的针指就不会指向一些重要的系统或用户数组去操作?*只要你编写的程序够多,不难发现,数组远比指针要简单得多……
指针很灵活让C语言变得简单、
指针作用总的说是调高程序运行效率,原因是它对c语言中定义的各种数据结构进行地址传递,而不需要进行不断地进行值传递。理解起来可以联想一下数据共享与建立副本的区别。
地址是数据存储的地方,机器是通过地址找到数据的,所以如果直接通过地址运算,也就更快
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
零钱罐送了体验金5000,可以得到多少收益?
干澜在什么地方啊,我要过去处理事情
oppo手机屏幕叠加层显示当前数据是什么意思
艺林创意摄影文印这个地址在什么地方,我要处
我的世界编辑器pro怎么编辑地形
为什么有的俄罗斯人长得像蒙古人 而且说的蒙
关于变配电室的布置及对土建的要求,下面哪项
昌信投资担保有限公司地址有知道的么?有点事
身份证的后12位可以查到前面6位号码吗?
dnf 剑宗重置戒指黑科技要多少级御剑术
余姚青螺物资贸易有限公司怎么去啊,有知道地
英语翻译我还没有把model 1X1 上的stainless
方便面泡好了以后是多少克重
做久久鸭最辣怎么做
一岁半的宝宝很爱哭,我改怎么引导呢?
推荐资讯
湖北襄阳市和广东揭阳市哪个城市好,哪个经济
云山茶行在哪里啊,我有事要去这个地方
被同事诽谤后,我直接报警处理.请问还有没有更
工商银行市民通闪酷卡当深圳通用怎么充值
大连到沈阳多远
粮局(粮油店)怎么去啊,有知道地址的么
飨·概念西餐厅地址在什么地方,想过去办事
后八轮一天能挣多少钱,不算晚上·
汇茗苑地址在什么地方,想过去办事
重庆小面回族人能不能吃?
禧卯工坊老榆木堂这个地址在什么地方,我要处
看演唱会需要身份证吗
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?