社区
C语言
帖子详情
c语言为什么要用指针?它有什么用?
harryzm
2008-06-19 11:18:36
c语言为什么要用指针?它有什么用?
它不就是指向内存的一个地址吗,为什么变量不能代替呢?
...全文
1410
42
打赏
收藏
c语言为什么要用指针?它有什么用?
c语言为什么要用指针?它有什么用? 它不就是指向内存的一个地址吗,为什么变量不能代替呢?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
42 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
liangchencf
2008-08-05
打赏
举报
回复
你说对了,变量就是符号,符号就是地址。而指针变量就是赋予你操作这些地址的工具。
[Quote=引用 41 楼 hw80520997 的回复:]
我也来说两句吧,如果指针那么好的话那还要变量做什么啊?设计的时候直接把变量做成像指针那样指向内存地址不就可以了吗
[/Quote]
hw80520997
2008-08-02
打赏
举报
回复
我也来说两句吧,如果指针那么好的话那还要变量做什么啊?设计的时候直接把变量做成像指针那样指向内存地址不就可以了吗
sc_gw
2008-06-23
打赏
举报
回复
[] Node *axnode = (NODE *)malloc(sizeof(NODE));
if (NULL == axnode)
{
return FALSE;
}
[]
bioruan
2008-06-23
打赏
举报
回复
个人认为compiler在汇编过程中应该可以自动区分究竟是用pointer,还是copy by reference,还是copy by value最合适的问题.何必非要麻烦operator呢?说不定C++++那一个版本的语言就不要指针了. 还有啊,JAVA就没有指针哦,不是照样可以写程序吗...
ForestDB
2008-06-21
打赏
举报
回复
因为需要直接操作地址。
lin_style
2008-06-21
打赏
举报
回复
[Quote=引用 33 楼 liangchencf 的回复:]
指针并不是因为C语言才有的。寻址、执行这么一个过程就是计算机的基本原理。尽管很多高级语言都没有指针,但程序的运行就是靠着不停的寻址来运行的。可执行的机器码、全局变量、局部变量和程序返回地址等这三块二进制数都存放在内存中。而只有cpu具有计算功能,他的计算实际上非常弱,每次只能算一个非常简单的算术运算或逻辑运算(但运算速度惊人)。要把程序代码和变量从内存传到cpu就需要通过找寻数据在内存中的地址,然后通过…
[/Quote]
精辟。这才是一个实用主义
相比飞雪,飞雪有点理论化。。。
antss
2008-06-21
打赏
举报
回复
弄本简单的数据结构看看,就知道为什么需要指针了。
lwouyang
2008-06-21
打赏
举报
回复
没有指针的C语言将是死水一滩
lwouyang
2008-06-21
打赏
举报
回复
忘了是谁说的一句话:
指针是C语言的灵魂!
个人觉得还有些道理吧.
xkyx_cn
2008-06-20
打赏
举报
回复
多给你发了杆超级牛的枪
[Quote=引用楼主 harryzm 的帖子:]
c语言为什么要用指针?它有什么用?
它不就是指向内存的一个地址吗,为什么变量不能代替呢?
[/Quote]
xkyx_cn
2008-06-20
打赏
举报
回复
多给你发了杆超级牛的枪
[Quote=引用楼主 harryzm 的帖子:]
c语言为什么要用指针?它有什么用?
它不就是指向内存的一个地址吗,为什么变量不能代替呢?
[/Quote]
stars_eyes
2008-06-20
打赏
举报
回复
说两句,不对的地方,楼下的指正。
指针就是地址,另外还有指针变量,也就是存放地址的变量。
平时使用的别的变量(指的指针变量以外的变量),就是用变量名字代表了它所在的空间,本质还是到这个地址去访问;而用指针变量访问,就是直接访问这个空间了,因此更高效。
就说这么多,后面的补充、修正,呵呵
baihacker
2008-06-20
打赏
举报
回复
[Quote=引用 4 楼 steedhorse 的回复:]
指针就是变量啊。。。。。
[/Quote]
指针变量是从指针本身的意义来说,
指针是一种类型
这种类型的对象有一种*运算,可以把指针本身的值当地址,指针指向的类型作为类型,去解释这个地址的内容.
这种运算也叫"非关联化"
这些都仅仅是从类型,语义来讲.
站在高一层:
"去操作另一个对象",才是其存在的思想来源.
显式的是指针
隐式的是引用(使用C++中引用的概念).
而他们都是引用(使用类型系统的概念).
xkyx_cn
2008-06-20
打赏
举报
回复
把10个MM叫来排队
[Quote=引用 12 楼 bad_alloc 的回复:]
你要和10个mm相亲,给10个mm每个人发一张照方便呢,还是把你本人打包装箱10mm都发一遍方便?
[/Quote]
晨星
2008-06-20
打赏
举报
回复
指针就是变量啊。。。。。
liangchencf
2008-06-20
打赏
举报
回复
指针并不是因为C语言才有的。寻址、执行这么一个过程就是计算机的基本原理。尽管很多高级语言都没有指针,但程序的运行就是靠着不停的寻址来运行的。可执行的机器码、全局变量、局部变量和程序返回地址等这三块二进制数都存放在内存中。而只有cpu具有计算功能,他的计算实际上非常弱,每次只能算一个非常简单的算术运算或逻辑运算(但运算速度惊人)。要把程序代码和变量从内存传到cpu就需要通过找寻数据在内存中的地址,然后通过数据总线和地址总线传进cpu运算(那两个总线就是实实在在的电线!)。所以如果你了解了程序的机构就可以根据地址去做很多很灵活甚至是很诡异的操作。不仅如此,你想做的所有操作也都离不开地址。
即使让你自己去设计一个语言,你会发现,类似指针这么个概念也是不可缺少的,离开它计算机就无法工作了。。。
可以没有指针变量这么个东西,但是指针,地址还是会有的。
bad_alloc
2008-06-20
打赏
举报
回复
你要和10个mm相亲,给10个mm每个人发一张照方便呢,还是把你本人打包装箱10mm都发一遍方便?
na_he
2008-06-20
打赏
举报
回复
就是c预言的道吧,结合os的设计,你可能有深刻的理解了。
zyw052553
2008-06-20
打赏
举报
回复
指针不是必需的,如Java就消除了指针
但是指针能够提高效率,方便程序员对系统底层操作
ouyh12345
2008-06-20
打赏
举报
回复
堆和栈还是有区别的,而且挺大
加载更多回复(22)
c语言
指针
面试习题以及答案.docx
c语言
指针
以下是一些常见的
C语言
指针
面试习题及其答案。这些题目涉及
指针
的基础知识、
指针
运算、内存管理等方面,适合用来测试对
C语言
指针
的理解和运用能力。 1. 基础题目 1.1
指针
基本概念 题目: 请解释什么是...
C语言
相关面试题
- if...else语句如何使用? - switch...case语句的语法及使用场景。 - for循环和while循环的异同。 - do...while循环的特点是什么? 5. **函数** - 什么是函数?函数是执行特定任务的代码块。 - 如何定义和...
C++/
C语言
指针
详解,让你不再怕
指针
你有过惧怕C++/
C语言
指针
的光荣历史吗?我是有过的。这篇29页的小册子让你改变历史,让你不再怕
指针
。 学习C++/
C语言
的人,没有曾经不怕
指针
的。这份29页材料对
指针
的几乎所有应用场合进行了解析,让你再也不怕
指针
...
免费下载:
C语言
难点分析整理.doc
深入理解
C语言
指针
的奥秘 这部分深入探讨了
C语言
中
指针
的工作机制和使用技巧。 ### 50. 游戏外挂的编写原理 这部分讨论了游戏外挂的实现原理和技术。 ### 51. 程序实例分析-为什么会陷入死循环 这部分通过具体的...
简单总结
C语言
中各种类型的
指针
的概念
C语言
中有很多关于
指针
的使用,
指针
也是
C语言
的灵魂所在,而且
C语言
中也有很多有关
指针
的概念,这里学习并总结了一些知道的概念。 常量
指针
: 首先它是一个
指针
,常量只是用来修饰
指针
的定语。其定义如下: char...
C语言
70,025
社区成员
243,260
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章