| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 872 人关注过本帖
标题:数据结构“栈”需要用到指针吗?【求围观,求真理】
只看楼主 加入收藏
love24114
Rank: 5Rank: 5
等 级:职业侠客
威 望:1
帖 子:223
专家分:399
注 册:2011-7-11
结帖率:81.48%
收藏
已结贴  问题点数:20 回复次数:10 
数据结构“栈”需要用到指针吗?【求围观,求真理】
https://bbs.bccn.net/viewthread.php?tid=359756&extra=&page=1
20楼最后一句话
楼主跟我争论,说栈需要用到指针……
我都笑死了,
我写了十几个用栈实现的代码了,
我*号都没有用过一次,
没看过数据结构,就不要充看过
就像不能因为你蛋疼就装B……
毕竟我们都是男人。
不是我得理不饶人,是它咄咄逼人。

[ 本帖最后由 love24114 于 2012-1-17 17:59 编辑 ]
收到的鲜花
  • cuijingchun2012-01-18 09:36 送鲜花  -2朵   附言:a[i+2]=*P(i+2)
搜索更多相关主题的帖子: 男人 
2012-01-17 17:43
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:7 
用不用指针都能实现  没出现过*号是你没用*号实现它

                                         
===========深入<----------------->浅出============
2012-01-17 17:53
love24114
Rank: 5Rank: 5
等 级:职业侠客
威 望:1
帖 子:223
专家分:399
注 册:2011-7-11
收藏
得分:0 
线性栈
2012-01-17 17:58
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:7 
“棧”只是一種數據運動模型,用不用指針都是可以的,那不重要。

授人以渔,不授人以鱼。
2012-01-17 19:10
小鱼儿c
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:852
专家分:1317
注 册:2011-4-1
收藏
得分:7 
说了数组和指针都可以类似,
都是要用一块内存来操作。
你就需要内存地址是吧。
你用数组无非是用数组名来调用内存地址而已。
指针也是存取内存地址的变量而已。和他差不多少。
我开始帖子就写明白了。

我都告诉你了,你还到底用你的观点说,我说了 我把数组当成指针看了。所以说几乎都用指针。
如果你别的语言的话,指针概念还是存在的。我想你也学过计算机系统,内存管理有涉及到。。

虽然我是没有听过课,但还是有一点映象。。。。

要是按我的逻辑来说的话
不管你用什么都 会用到指针 只是表面看不到而已。。。。

用数组来写栈有时候根本就是行不同的。
你知道数组要申明多大。
你小了 可能出数据溢出。
多了 浪费了。
你处理大量未知的数据 你要怎么办呢!!!!

难道没有用*就没有代表指针吗?

难道一定要告诉你(*p)[] 和*p[]
有区别吗?

再说我什么时候栈一定要用指针,你这样转移话题也说明不了什么。

我和别人辩一个东西的时候是这样的。但我只是说我的理由。
我生气是因为你先把别人帖子看完再说。。。想好了再说而已。

你写十几个栈又能说明什么呢!!代码重复利用这点不明白吗!!

我从来不装B , 要是我要装B 我也会告诉大家。。。。


这次我是什么语气都没有带,就事论事而已。

用心做一件事情就这么简单
2012-01-17 21:16
你们都要疼我哦
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:火星
等 级:贵宾
威 望:49
帖 子:1296
专家分:2746
注 册:2008-7-13
收藏
得分:0 
别吵架嘛
偶来围观了

指针无处不在 数据随之而来
眼界开阔点 学习耐心点 知识面拓宽点

其实那个栈吧。。。咳   晚安。
收到的鲜花
  • cuijingchun2012-01-18 09:32 送鲜花  5朵   附言:眼界开阔点 学习耐心点

小妹,哥哥看你骨骼清奇,绝非凡人,将来必成大业,不如这样,你先把裤裤脱了,待哥哥为你开启灵窍,然后我们一起努力钻研如何
2012-01-18 02:59
smallmoon521
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:517
专家分:1373
注 册:2008-4-21
收藏
得分:0 
话说,世上本没有数组访问和指针的区别
只有名字上的区别,本质都是
mov eax,XXXXXXXX    //基址
mov ebx,[eax+m*n]    //m偏移数,n步长;也可将m*n理解为偏移地址
LZ不用太纠结

为游戏狂~~!!    大家努力编哈!
2012-01-18 08:06
wfoo
Rank: 3Rank: 3
等 级:论坛游侠
威 望:7
帖 子:120
专家分:134
注 册:2011-8-6
收藏
得分:0 
在16位寻址模式下,实现数组却是复杂,可能要转换为[Base + Disp]或[Base]的寻址模式。
 
IA32/64指令中的SIB简直是为数组量身设计的:[Base + Index * Scale + Disp]或[Base + Index * Scale]
尤其是char, short, int, double这样的数据,刚好可以让Scale为1,2,4,8.Index刚好可以表示数组的下标
 
而指针一般的寻址方式是[Base + Disp]或者[Base]。
 
用数组更容易写出 更少的数据相关 的代码,在处理器支持多条流水线的情况下,数组可能效率更高。因此有很多情况下,把指针当数组用,如p[0],p[1],p[2].
尤其在SIMD指令集中,数组的优化空间更好。
 
我个人更愿意把数组当成数据结构,指针当成基本类型。
指针的主要作用是 保存某块空间的地址,外部代码可以根据这个地址来操作那块空间。而数组没有这种功能,最多是把那块空间当数组用。
收到的鲜花
  • TonyDeng2012-01-18 16:53 送鲜花  10朵   附言:我很赞同
2012-01-18 11:12
wfoo
Rank: 3Rank: 3
等 级:论坛游侠
威 望:7
帖 子:120
专家分:134
注 册:2011-8-6
收藏
得分:0 
还有一点,在IA32/64平台下的应用程序,C语言里的指针并不是表示内存地址,中间还隔着 分段和分页机制,然后才到真正的物理内存。
2012-01-18 11:15
小鱼儿c
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:852
专家分:1317
注 册:2011-4-1
收藏
得分:0 
以下是引用wfoo在2012-1-18 11:15:14的发言:

还有一点,在IA32/64平台下的应用程序,C语言里的指针并不是表示内存地址,中间还隔着 分段和分页机制,然后才到真正的物理内存。

不管是不是真的内存地址。
只要能找到内存地址。
可以想成内存地址就可以了。。


我的愚见

用心做一件事情就这么简单
2012-01-18 23:19
快速回复:数据结构“栈”需要用到指针吗?【求围观,求真理】
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.040960 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved