|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 顺序栈的栈顶指针
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
4814
人关注过本帖,
1
人收藏
标题:
顺序栈的栈顶指针
取消只看楼主
加入收藏
同生缘
等 级:
新手上路
帖 子:32
专家分:0
注 册:2007-11-18
结帖率:
0
楼主
收藏
(1)
问题点数:0 回复次数:3
顺序栈的栈顶指针
顺序栈的栈顶指针 当栈满时 指向 最后一个栈元素的上面,那个地址是不属于栈的,
会不会有问题?
注 严版 C语言数据结构
Push函数是这样压栈的
*S.top ++ = e;
栈指针指向刚压入元素的位置的上面。
如果压入之后,刚好满栈了,S.top++后,
那 S.top指向 一个不属于栈的位置。
搜索更多相关主题的帖子:
C语言
元素
2011-01-29 14:22
举报帖子
使用道具
赠送鲜花
同生缘
等 级:
新手上路
帖 子:32
专家分:0
注 册:2007-11-18
第
2
楼
收藏
得分:0
如果指向 一个未知的位置 有 风险 的吧 ,有朋友说:。。。。
。。。。。。。。。。。。。。。。。。。。。。。。。。。。
要是想深入了解栈,估计要看操作系统、编译器相关的书籍了。
满肯定有满的情况,不过貌似现在都处理好了,要么提示你非法访问,要么有虚拟内存映射栈空间,
所以在现在应该不会遇到这种情况了吧!
不像以前,内存小的可怜,一不小心就用满了。
理性爱国。
理性上网。
2011-01-29 14:55
举报帖子
使用道具
赠送鲜花
同生缘
等 级:
新手上路
帖 子:32
专家分:0
注 册:2007-11-18
第
3
楼
收藏
得分:0
让指针指向数组第0个元素的前面或最末元素的后面,其效果是未定义的!让指针指向数组最末元素后面的那个位置是合法的(但指向0元素前面是非法的),但对这个指针执行间接访问可能会失败,再往后也非法了!(来自《C与指针》)
理性爱国。
理性上网。
2011-01-29 15:13
举报帖子
使用道具
赠送鲜花
同生缘
等 级:
新手上路
帖 子:32
专家分:0
注 册:2007-11-18
第
4
楼
收藏
得分:0
有点不同,我有点钻牛角尖了,但精神领会了
你这个是可检测的(NULL),可控(短路),但是我的指针指向 不可测,不可预料指向 那个 敏感的位置,出现奇怪的错误
以下是引用
犬虫门心
在2011-1-29 15:13:30的发言:
u
u
C语言很有意思,它的很多概念是“自满”(自圆其说)的。按照楼主的说法,那么链表中的指针,其危险性不是更大了么?假设有一个单向非循环链表,最后一个节点的next域值为NULL,链表首地址为ipHead,而下面的函数打算遍历链表,并输出数据域的内容,但不处理最后一个节点:
typedef struct LINK
{
int data;
struct LINK *next;
}LINK;
void showLink(LINK *ipHead)
{
for(; ipHead && ipHead->next; ipHead = ipHead->next)
;//在这里输出ipHead->data
}
关键是:
for(; ipHead && ipHead->next; ipHead = ipHead->next)划下划线的部分。
我想表达的问题是,按理说如果当前链表是“空链”,其初始的ipHead的值即为NULL,那么ipHead && ipHead->next这个条件判断中的ipHead->next就已经犯了严重错误了!
但事情不是这样的,这个表达式“很安全”,这全都归功于“短路运算”(若不清楚,请百度)。其实,这个问题是“短路运算”之所以能存在的意义所在。
结论:只要我们的程序能够做到“自满”,或者说,我们所提供的程序在逻辑上能够完满,那么,出现“空指针”并不是可怕的事情。关键的逻辑要严谨。
[
本帖最后由 同生缘 于 2011-1-29 15:26 编辑
]
理性爱国。
理性上网。
2011-01-29 15:23
举报帖子
使用道具
赠送鲜花
4
1/1页
1
快速回复:
顺序栈的栈顶指针
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.039449 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved