关于定义栈的问题

tzfocus 2016-05-05 11:02:21
举个例子,我自定义了一个栈,栈的类型名是stack,定义一个初始化栈的函数void Initstack(stack *S)
然后我以stack定义了两个栈,stack *a; stcak b;当我调用初始化函数来初始化定义的这两个栈时,
应该这样定义: Initstack(*a); Initstack(&b);为什么指针定义的栈带入参数就是指针,没用指针定义的就是取地址?
为什么不能统一定义栈的类型,这样带入参数时也好理解啊。。。。。
...全文
115 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
tzfocus 2016-05-06
  • 打赏
  • 举报
回复
引用 2 楼 qq423399099 的回复:
楼主是想直接这样用?Initstack(a)和 Initstack(b) 那自己再重载一个同名的函数,参数类型改一改 为什么定义栈的时候自己不统一一下,既定义指针又定义普通对象干嘛?
我做题时碰到这种情况的,有点不理解,我自己写代码肯定不会这样啊
小灸舞 2016-05-06
  • 打赏
  • 举报
回复
楼主是想直接这样用?Initstack(a)和 Initstack(b)
那自己再重载一个同名的函数,参数类型改一改
为什么定义栈的时候自己不统一一下,既定义指针又定义普通对象干嘛?
纹枰老妖 2016-05-06
  • 打赏
  • 举报
回复
楼主您是不是写错了?a调用初始化栈时,括号中的参数应该写成【(a)】这种形式吧,因为a是一个指针变量,里面保存的是一个地址,而 *a 则表示这个地址中的值,这显然不符合您的要求啊。。。
赵4老师 2016-05-06
  • 打赏
  • 举报
回复
lqbk1 2016-05-05
  • 打赏
  • 举报
回复
初始化应该用 Initstack(a)和 Initstack(&b),请放过那个*

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧