社区
C语言
帖子详情
C语言中为什么要设计指针?
c_language
2006-04-20 08:53:44
如何客观评价指针的利弊。在程序语言中,指针是不是必须的?
还有一个问题:
程序语句的三种结构很好理解,显然它和“逻辑学”应该有一定的关系。那么函数呢?它的理论基础是什么?也就是为什么在程序设计语言中要引入“函数”。
类似的还有“宏定义”、“结构体”。它们各自的依据是什么,不可能是“无缘无故”的吧!
...全文
351
21
打赏
收藏
微信扫一扫
点击复制链接
分享
举报
写回复
21 条
回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
寻开心
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语言了
打赏
举报
回复
赞
加载更多回复
相关推荐
C语言
中
函数
指针
与软件
设计
经验总结
今天小编就为大家分享一篇关于
C语言
中
函数
指针
与软件
设计
经验总结,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需
要
的朋友一起跟随小编来看看吧
C语言
小知识---
为什么
要
使用
指针
一堆概念,搞得人云里雾里的,今天不讨论这些概念的问题,从最底层来分析
C语言
中
为什么
要
使用
指针
,
指针
存在的意义又是什么呢? 首先从一个简单的例子来看,写一段代码来交换x、y的值。 void main( void ) { u8...
c语言
中
的链表-用结构体和
指针
构造链表
文章主
要
介绍在
c语言
中
用结构体和
指针
构造链表的方法,感兴趣的朋友可以看看。
C语言
中
的
指针
有什么作用
C语言
中
的
指针
的作用是:通过
指针
不仅可以对数据本身,还可以对存储数据的变量地址进行操作。
指针
就是内存地址,
指针
变量是用来存放内存地址的变量。
指针
定义:
指针
,是
C语言
中
的一个重
要
概念及其特点...
C语言
中
变量与
指针
区别,
C语言
中
“
指针
”和“
指针
变量”的区别是什么??
区别在于:1、“
指针
”是概念,“
指针
变量”是具体实现。...3、
指针
和
指针
变量是两个不同的概念,但
要
注意的是,通常我们叙述时会把
指针
变量简称为
指针
,实际他们含义并不一样。扩展资料
指针
与
C语言
关系:大...
3d在
c语言
中
3的作用,
c语言
中
%3d是什么意思?
%3d是
C语言
中
格式化输出字符,代表的意思是指的输出3个字符长度的整数。可以在“%”和字母之间插进数字表示最大场宽。例如:%3d表示输出3位整型数,不够3位右对齐。%9.2f表示输出场宽为9的浮点数,其
中
小数位为2,...
指针
在
c语言
中
起什么作用,编程
中
指针
的作用是什么?
编程语言
中
,何为
指针
?它们都有什么用呢?其实通俗点讲,将一个椅子放进一个小房间锁上门,你若想拿出凳子,就必须有锁门的钥匙,而这钥匙就是
指针
。举一个简单的例子:int a = 3;int *p;p = &a;p就是一个
指针
...
C语言
中
可移植且可靠的
指针
运算
在
C语言
中
,
指针
变量是强大且实用的功能。
指针
变量使程序员不仅可以间接引用数据和函数,还可以结合数组下标来选择、读取和写入数组项。但首先需
要
了解什么是
指针
和地址以及编译器如何使用它们。不理解
指针
和地址会...
【
C语言
】两个
指针
的坑
这两段代码都和
指针
有关,运行都会core。这样的两个坑也大概可以说明c++到底有多复杂,精通c++到底有多难。同时也大概可以说明为啥站在程序
设计
顶峰的人大抵都是c或c++程序员。
C语言
程序
设计
指针
.ppt
指针
的定义,
指针
的引用,
指针
与数组,
指针
作为函数参数、返回值,动态内存分配、链表的建立,链表的其他操作。综合应用举例
C语言
程序
设计
中
的
指针
教学研究.pdf
C语言
程序
设计
中
的
指针
教学研究.pdf
C语言
-
指针
.pdf
文章对
C语言
程序
设计
中
指针
的定义、使用进行详细的介绍,初学者可以快速掌握
指针
,能够对
指针
的使用有个初步的了解。
c语言
课程
设计
使用
指针
设计
简单的教务管理系统.zip
c语言
课程
设计
使用
指针
设计
简单的教务管理系统,包含源代码和课程
设计
报告。
C语言
程序
设计
第
指针
程序
设计
PPT课件.pptx
C语言
程序
设计
第
指针
程序
设计
PPT课件.pptx
C语言
程序
设计
中
指针
教学方法的研究.pdf
C语言
程序
设计
中
指针
教学方法的研究.pdf
C语言
4本圣经(
C语言
程序
设计
、C和
指针
、C缺陷与陷阱、C专家编程)
包含4本C资料:
C语言
程序
设计
(第四版谭浩强著)、C和
指针
、C陷阱和缺陷、C专家编程
c99什么意思_在
c语言
中
=!是什么意思
?
展开全部1、
c语言
中
=!是两32313133353236313431303231363533e58685e5aeb931333366303066个运算符摆放在一起,“=”是赋值运算符,“!”逻辑非运算符;2、逻辑操作符一般将其操作数视为条件表达式,返回结果为Bool...
c语言
实验报告
指针
.doc
PAGE 第PAGE 1页/共 NUMPAGES 1页 姓名 姓名 学号 班级 指导教师
C语言
程序
设计
基础 实验报告 实验名称
指针
实验室 实验楼 实验日期 实验目的 掌握
指针
的概念会定义和使用
指针
变量 学会使用数组的
指针
和指向数组的...
C语言
程序
设计
基础教程 7.2、
为什么
使用
指针
.pptx
为什么
使用
指针
C语言
程序
设计
C语言
为什么
使用
指针
生活
中
的
指针
如何才能找到每个学生1按照学号排房间酒店无法提供连续房间2学生们希望自主选择房间号入住
C语言
为什么
使用
指针
生活
中
的
指针
C语言
为什么
使用
指针
为什么
...
ERP沙盘模拟实践实验报告.docx
ERP沙盘模拟实践实验报告
算法分析与
设计
实验报告-求最大子段和实验报告(含源代码).doc
算法分析与
设计
实验报告-求最大子段和实验报告(含源代码).doc
Awesome_Game_UI_Pack_Button_Pack_and_Icon_pack_16_v1.0
Awesome_Game_UI_Pack_Button_Pack_and_Icon_pack_16_v1.0
某公司ERP生产管理系统实验报告.docx
某公司ERP生产管理系统实验报告
算法分析与
设计
之引言.pps
算法分析与
设计
之引言.pps
基于51单片机的数字电容测量仪
设计
实验报告.doc
基于51单片机的数字电容测量仪
设计
实验报告.doc
云外归鸟的图像处理支持库1.1#0版(第三方)
资源介绍:。易语言YunImage.fne支持库
中
文名为易语言图像处理支持库,本易语言支持库支持库封装了CxImage图像处理库。易语言YunImage.fne支持库为一般支持库,需
要
易系统3.6版本的支持,需
要
系统核心支持库3.7版本的支持,提供了5种库定义数据类型,提供了215种命令,提供了53个库定义常量。易语言图像处理支持库为易语言第三方支持库。操作系统需求: Windows。资源作者:。易语言论坛。资源界面:。资源下载:。
响应光盘行动-拒绝餐饮浪费-主题班会教案.docx
响应光盘行动-拒绝餐饮浪费-主题班会教案.docx
Java项目:企业人事系统(java+SpringBoot+Vue+ElementUI+maven+mysql)
项目介绍 人事管理系统功能包括人事通讯,员工信息,人事考评,奖惩,培训管理,薪资管理,统计分析,和系统管理六大模块,对应人事工作基本流程:新员工入职档案建立,调动,辞职,员工信息的查询及工资管理等方面.系统管理可以根据不同的角色分配菜单权限设置,不同的用户授予不同角色,对人事结构,单位结构进行整体调配设置.在线聊天可以实现操作员之间讯息的及时通讯. 项目基于MVVM的前后端分离开发模式进行开发.MVVM即模型(Model)-视图(View)-视图模型(View Model),实现了数据视图的双向绑定.相对于MVC模式和MVP来说,MVVM是一个比较新的开发架构,它是一种将MVP模式与WPF相结合应用方式发展演变而成的新型开发架. 前后端分离是指将前端和后端从之前的全部由后端负责
中
分离开来,不再共用一个Server,前端作为一个独立Serve存在.前后端通过接口使用HTTP协议交互,本项目使用vu实体属性outer做前端路由处理.页面跳转不在由后端处理,前后端只是数据的交互.前后端分离的好处在于降低了前后端的耦合性.当面对不同的硬件场景时,需
要
构建不同的界面,前后端分离之后,只需
要
扩展
2020年高考英语试卷(北京卷-附答案).docx
2020年高考英语试卷(北京卷-附答案).docx
发帖
C语言
加入
微信扫一扫
点击复制链接
6.6w+
社区成员
24.2w+
社区内容
C语言相关问题讨论
社区管理员
申请成为版主
帖子事件
创建了帖子
2006-04-20 08:53
社区公告
暂无公告