C语言堆栈问题

[复制链接]
查看11 | 回复2 | 2012-12-8 15:53:22 | 显示全部楼层 |阅读模式
应该把&改成*这样的话传到调用函数里才是指针而不是一个形式参数而已&个在c++中才可以使用 是引用的意思而在c中没有这种定义方式这里你想改变e的指而这个函数又是调用函数所以里面的参数必须 是一个地址 这样才可以达到改变所传参数的 目的 所以定义应该为 SElemType *e 这样穿进去的是e这个变量的指针 。而这条语句e=*(S->top-1);应该改为*e=S->top-1;这样就可以了我也是新手说的如果有不对的地方请见谅啊如果还不明白 推荐谭浩强的 c语言程序设计...
回复

使用道具 举报

千问 | 2012-12-8 15:53:22 | 显示全部楼层
Status GetTop(SqStack *S,SElemType &e)//取栈顶元素{ if(S->top==S->base) return ERROR;e=*(S->top-1);//此处e当做element用了,而传进来的是地址。可修改为e=S->top-1;return OK;}...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行