社区
C语言
帖子详情
C语言中为什么要设计指针?
c_language
2006-04-20 08:53:44
如何客观评价指针的利弊。在程序语言中,指针是不是必须的?
还有一个问题:
程序语句的三种结构很好理解,显然它和“逻辑学”应该有一定的关系。那么函数呢?它的理论基础是什么?也就是为什么在程序设计语言中要引入“函数”。
类似的还有“宏定义”、“结构体”。它们各自的依据是什么,不可能是“无缘无故”的吧!
...全文
377
21
打赏
收藏
C语言中为什么要设计指针?
如何客观评价指针的利弊。在程序语言中,指针是不是必须的? 还有一个问题: 程序语句的三种结构很好理解,显然它和“逻辑学”应该有一定的关系。那么函数呢?它的理论基础是什么?也就是为什么在程序设计语言中要引入“函数”。 类似的还有“宏定义”、“结构体”。它们各自的依据是什么,不可能是“无缘无故”的吧!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
21 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
寻开心
2006-04-21
打赏
举报
回复
孔乙己还问那个回字有多少种写法呢
指针是c语言的最有特色的东西
是不是没有它就解决不了了某个具体的问题呢,不是的
只是有了它有了更多的可能性
zez
2006-04-21
打赏
举报
回复
楼主是学哲学的..
这年头,哲学家也来编程???
用的着钻牛角尖么??
计算机刚出来的时候没有函数,都是 用手打开关闭开关,后来用打孔的纸带.
后来有了汇编..
再后来才有了高级的语言..
再后来出来了c,出现了结构体,函数. 为什么有这些,因为这样方便,省事!!
LoveCreatesBeauty
2006-04-21
打赏
举报
回复
以前不是有位朋友提到过(当然在很多书本里也有),malloc系列函数分配的对象没有名字,必须用指针才能引用。用来回答这个问题,是不是有启发性?C是一个静态类型语言,通过malloc希勒函数可以获得一定在运行时的弹性,没有指针则不能获得这种动态性,或者即使获得也不能使用它。
TryBoYang
2006-04-21
打赏
举报
回复
看什么样的需要了。
在系统软件和嵌入式开发这样需要高效运行效率的领域,操作指针比其他的方法快很多。
面向对象语言的指针只是对程序员屏蔽掉而已,其语言内部还是有大量指针。
爱我的人请呼吸
2006-04-21
打赏
举报
回复
jixingzhong(瞌睡虫:选择了远方,只顾风雨兼程!) ( ) 信誉:102 2006-04-20 21:06:00 得分: 0
呵呵,
楼主可能有些过于狭隘了~
在 java 中没有指针,
也没有函数,
有的只是 类,方法 ....
————————————————————————————
在Java语言中虽然没有明确的指针定义,实质上每一个new语句返回的都是一个指针的引用
武稀松
2006-04-21
打赏
举报
回复
指针的历史非常悠久了,从Pascal开始就引入了指针的概念.
指针固然可能带来危险.但是指针直接访问内存却是设计底层和操作系统的必须.
所以高级语言设计操作系统只有两大据有指针的族系PASCAL(包含MODULE,ADA)和C(包含C,C++).
Pascal可以说是开创了现代高级语言的先河.它发扬光大了结构话设计,函数式语言.并且它引入的CASE语句、记录和指针等新概念一直使用到今天.Pascal之父的话"数据+算法=程序"也是现代设计开发的经典语言.
C在继承了Pascal有用的元素以后去掉了Pascal的呆板(也去掉了严谨和优雅的自然语言语法).
到今天几乎ALGOL家族统一了全部的开发语言.(C,Pascal是它的最大的两个后代).
语法都是一脉相承的.都是有用的.
c_language
2006-04-21
打赏
举报
回复
我只所以有这些问题,是想弄清楚技术背后的思想,因为我觉得只有弄清楚最本质的东西,才能以不变应万变.不管什么技术,它背后总有理论思想和原理.
为什么计算机要用CPU?
把我所知,这好象与冯诺依曼所提出的程序存储原理有关.
为什么我们买的电脑需要一个机箱?
这还用问吗?肯定是为了保护内部的元器件,同时还可以起到防止辐射的作用,加一个机箱还可以使计算机更美观,何乐而不为呢?
我有这样一个观点,不知对不对?
每一件事物的出现和引入都会有它的原因,不会无缘无故的出现.
lengsehuoyan
2006-04-21
打赏
举报
回复
管理内存
september_29
2006-04-21
打赏
举报
回复
为什么计算机要用CPU为什么,我们买的电脑需要一个机箱?
为什么??
swabc
2006-04-21
打赏
举报
回复
不讨论这么无聊的问题
Piboye
2006-04-21
打赏
举报
回复
指针其实是不能避免的问题,以我看到的语言来说,每种语言都有指针。
从汇编,C,C++到pascal,VB,Delphi,C#,Java,perl....
好多语言自称是没有指针,其实是换汤不换药,一样都有指针。
好多语言用句柄来代替C中的指针,可是你想想那不还是指针吗?
C中指针很多人都认为是指向内存地址的,其实在现代的计算机系统中,这些指针在大多数情况下也就是个程序逻辑地址,它要经过段变换和页变换才能找到真正的物理地址。
这些过程也涉及到查表,这和前面的句柄不是一样了吗。
C语言中指针之所以搂来非议,你因为C,C++中的指针都是row的,太原始了,限制太少,没有智能。
其它语言只是多加了指针的限制和智能化一点,后就改名了。
C++语言可以做的很好在指针的封装中。
所以说不是指针不好,而是要把指针用到位,该row就row,该smart就smart
adintr
2006-04-21
打赏
举报
回复
计算机为什么要设计内存?
hazuki9902
2006-04-21
打赏
举报
回复
如何客观评价指针的利弊。在程序语言中,指针是不是必须的?
---------------------------------------------------------]
本人愚顿,限于交流,所言可能不详.但是指针确实是C的精髓所在.
程序语言中,指针不是必须的.
用C指针可以直接访问内存单元,提供了最低层,最直接的操作,因此效率自然比其他高级语言优越
也正是由于可以直接访问内存单元的特点,如果程序中指针没有操作好(申请\初始化\偏移量操作\有效性检查),轻则造成运行失败,重至系统崩溃...
wind19
2006-04-21
打赏
举报
回复
指针是一个好东西,可以很方便得解决一些问题,只是比较难,看你的造诣了,其实java中也用到指针的原理的
megaboy
2006-04-21
打赏
举报
回复
如何客观评价指针的利弊。在程序语言中,指针是不是必须的?
------------------------------------------------------
从必要性来说的话,别说指针,即使其它东西也没有什么是必要的。一门语言之所以有这种或那种东西,基本取决于语言发明人是如何想的。
之所以要引入“函数”的概念,其渊源应该是数学思想,与计算机无关。
rickerliang
2006-04-21
打赏
举报
回复
函数是程序设计思维的一次很大的飞跃,其中心思想就是把变化的东西封装起来
逸学堂
2006-04-21
打赏
举报
回复
研究一下CPU的构成,就知道指针的用处了。
BTW:CPU通过地址总线获取地址,在通过数据总线读取数据。
这典型是一个指针调用。所以说语言中没有指针,那么首先先从硬件上
取消指针调用。
jixingzhong
2006-04-20
打赏
举报
回复
楼主可以去了解一些 计算机语言的 发展历程 ...
jixingzhong
2006-04-20
打赏
举报
回复
呵呵,
楼主可能有些过于狭隘了~
在 java 中没有指针,
也没有函数,
有的只是 类,方法 ....
gjianpro
2006-04-20
打赏
举报
回复
和计算机硬件结构有关,没有指针就不叫C语言了
加载更多回复(1)
免费下载:
C语言
难点分析整理.doc
这部分解释了为什么在C++
中
需要检查`new`的返回值。 ### 72. C 是 C++ 的子集吗? 这部分解释了C和C++之间的关系。 ### 73. C和C++的区别是什么? 这部分详细列出了C和C++之间的主要区别。 ### 74. 无条件循环 这...
C语言
实例解析精粹
【
C语言
实例解析精粹】是一本专门为
C语言
学习者准备的参考资料,旨在帮助初学者逐步精通
C语言
,同时也适合有一定基础的程序员深入理解和运用
C语言
。这本书涵盖了
C语言
的基础概念、语法结构、数据类型、控制结构、...
C语言
算法大全
总之,《
C语言
算法大全》是学习
C语言
及其算法应用的宝贵资料,配合压缩包
中
的其他资源,将有助于读者全面深入地掌握
C语言
编程技术和算法
设计
。无论是为了个人兴趣还是职业发展,投入时间研读这本书都将是一次富有...
C语言
经典编程900例
这本书通过丰富的实例,让学习者能够在实践
中
理解
C语言
的语法、结构和算法
设计
,从而提升编程技能。 首先,
C语言
作为一门基础且强大的编程语言,它的特点是运行效率高,可移植性强,是许多系统级编程和嵌入式开发的...
经典编程900例(
C语言
)
每个例子都是精心
设计
的,涵盖了实际编程
中
的常见问题和解决方案。学习过程
中
,建议读者动手实践,不断调试和改进代码,以提高编程技能。此外,理解和掌握
C语言
的底层原理,有助于理解其他高级编程语言,为后续的...
C语言
70,023
社区成员
243,263
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章